# load "Ask a A Manager 2021 Survey" googlesheet
# https://www.askamanager.org/
ask_a_manager_2021 <- read_csv(here::here("data","ask_a_manager.csv"))

skimr::skim(ask_a_manager_2021)
Data summary
Name ask_a_manager_2021
Number of rows 26765
Number of columns 18
_______________________
Column type frequency:
character 14
logical 2
numeric 1
POSIXct 1
________________________
Group variables None

Variable type: character

skim_variable n_missing complete_rate min max empty n_unique whitespace
how_old_are_you 0 1.00 5 10 0 7 0
industry 62 1.00 2 171 0 1084 0
job_title 0 1.00 1 126 0 12838 0
additional_context_on_job_title 19868 0.26 1 781 0 6612 0
currency 0 1.00 3 7 0 11 0
additional_context_on_income 23851 0.11 1 1143 0 2839 0
country 0 1.00 1 209 0 297 0
state 4761 0.82 4 114 0 125 0
city 23 1.00 1 171 0 4070 0
overall_years_of_professional_experience 0 1.00 9 16 0 8 0
years_of_experience_in_field 0 1.00 9 16 0 8 0
highest_level_of_education_completed 202 0.99 3 34 0 6 0
gender 155 0.99 3 29 0 5 0
race 151 0.99 5 125 0 47 0

Variable type: logical

skim_variable n_missing complete_rate mean count
other_monetary_comp 26765 0 NaN :
currency_other 26765 0 NaN :

Variable type: numeric

skim_variable n_missing complete_rate mean sd p0 p25 p50 p75 p100 hist
annual_salary 0 1 144988 5488158 0 54000 75712 110000 8.7e+08 ▇▁▁▁▁

Variable type: POSIXct

skim_variable n_missing complete_rate min max median n_unique
timestamp 0 1 2021-04-27 11:02:09 2021-09-14 21:55:44 2021-04-28 12:35:21 23989

Data cleaning

After skimming the dataset, we took the below steps to clean the raw data :

Removing NA values

# remove the NA values and 0 salaries
ask_a_manager_2021 <- ask_a_manager_2021 %>% 
  filter(!gender %in% c("NA","Other or prefer not to answer","Prefer not to answer", "Non-binary", NA) &
           race!="NA" &
           highest_level_of_education_completed!="NA"&
           annual_salary>0)

Removing outliers

# using z-score. remove data out of 3 sigma
# ask_a_manager_2021 <- ask_a_manager_2021[-which(abs(scale(ask_a_manager_2021$annual_salary))>3),]
# using quantile. remove data larger than 75%+1.5*IQR or smaller than 25%-1.5*IQR
# we choose this method recommended by the stats community
Q <- quantile(ask_a_manager_2021$annual_salary, probs=c(.25, .75))
iqr <- IQR(ask_a_manager_2021$annual_salary)
up <-  Q[2]+1.5*iqr # Upper Range
low <-  Q[1]-1.5*iqr # Upper Range
ask_a_manager_2021 <- ask_a_manager_2021 %>%
  filter(annual_salary>=low & annual_salary<=up)

Removing very small age group

We observe there are only 2 samples under 18 years old correctly entered their data, so we remove them to make analysis between age groups possible.

ask_a_manager_2021 %>% 
  group_by(how_old_are_you, gender) %>% 
  summarise(count=n()) %>% 
  ggplot(aes(x=fct_relevel(how_old_are_you,levels=c("under 18","18-24","25-34","35-44","45-54","55-64","65 or over")),y=count))+
  geom_col()+
  labs(title="Sample size in age groups",
       x="Age Group",
       y="number of samples")+
  NULL

ask_a_manager_2021 <- ask_a_manager_2021 %>% 
  filter(how_old_are_you!="under 18")

Transforming into ordered factor datatype

Namely, we want to make age, years of working experience, education into factor, and take the log of salary for the next step of EDA.

ask_a_manager_2021 <- ask_a_manager_2021 %>% 
  mutate(
    country = countrycode::countryname(country),
    age_group = factor(how_old_are_you,levels=c("18-24","25-34","35-44","45-54","55-64","65 or over")),
    field_exp = factor(years_of_experience_in_field,levels=c("1 year or less","2 - 4 years","5-7 years","8 - 10 years","11 - 20 years","21 - 30 years","31 - 40 years","41 years or more")),
    pro_exp = factor(overall_years_of_professional_experience,levels=c("1 year or less","2 - 4 years","5-7 years","8 - 10 years","11 - 20 years","21 - 30 years","31 - 40 years","41 years or more")),
    education = factor(highest_level_of_education_completed, levels=c("High School","Some college","College degree","Master's degree","Professional degree (MD, JD, etc.)", "PhD")),
     higher_edu = ifelse(education %in% c("College degree","Master's degree", "PhD", "Professional degree (MD, JD, etc.)"),1,0),
    salary = annual_salary,
    # take ln() to annual salary
    log_salary = log(annual_salary)
  ) %>% 
  janitor::clean_names() # clean columns names

Remove problematic entries

# there are people under 18 having more than 18 years of experience
ask_a_manager_2021 %>% 
  filter(age_group=="under 18") %>% 
  select(c("age_group","overall_years_of_professional_experience"))
age_groupoverall_years_of_professional_experience
ask_a_manager_2021 <- ask_a_manager_2021 %>% 
  mutate(max_age = case_when(how_old_are_you=="under 18"~18,
                             how_old_are_you=="65 or over"~999,
                             T~as.numeric(substr(how_old_are_you,4,5))),
         # parse the first number in a character
         min_exp = if_else(parse_number(overall_years_of_professional_experience)>
                       parse_number(years_of_experience_in_field),
                       parse_number(overall_years_of_professional_experience),
                       parse_number(years_of_experience_in_field))) %>% 
  # delete the problematic entries and the tow columns created here.
  filter(max_age>=min_exp) %>% 
  select(-c("max_age","min_exp"))

Selecting industries

Since there are over 1000 reported industries in the dataset, we will only keep the top 25 industries which account for 92% of total entries

# Industry is messy... it has > 1000 different industries.
# we only keep the names of top 25 industries. (24597(92%) out of 26765 entries)
industry_list <- ask_a_manager_2021 %>% 
  count(industry, sort=TRUE) %>% 
  mutate(percent = 100* n/sum(n)) %>% 
  slice_max(order_by = n, n = 25) %>% 
  select(industry)

ask_a_manager_2021 <- ask_a_manager_2021 %>% 
  mutate(industry = ifelse(industry %in% industry_list$industry,
                           industry,
                           "Others"))

Unifying currencies

Since there are 11 different currencies reported in the dataset, we want to unify the most common currencies into USD for the convenience of comparison analysis afterwards. We decided to convert all currencies with occurences greater than 100 into USD. This included CAD,GBP,EUR,AUD/NZD. Other was not converted as there wasn’t specific information on the currency.

ask_a_manager_2021 %>%
  count(currency, sort=TRUE) %>%
  mutate(percent = 100* n/sum(n))
currencynpercent
USD2026883.6    
CAD14746.08   
GBP14345.91   
EUR5512.27   
AUD/NZD4321.78   
Other570.235  
CHF290.12   
SEK10.00412

From the above table, We can see that USD, CAD, GBP, EUR, (AUD/NZD) are the most common currencies. We will convert the currencies all to USD using exchange rate data from library quantmod, and the exchange rate will be taken from the last date of the survey “2021-09-14”

#gets the currency rate for the currency pairs. This uses the Oanda which keeps currency data for the last 180 days.
#In 180 days from "2021-09-14" the code will no longer return the currency rates.
currencies <-getSymbols(c("EUR/USD","CAD/USD","GBP/USD","AUD/USD" , "NZD/USD"),
                        from="2021-09-14", to="2021-09-14", src="oanda")

#In order to preserve the analysis for after 180 days we can hard code the currency rates into a tibble
currencies_preserved <- tibble(
  name = c("EUR/USD","CAD/USD","GBP/USD","AUD/USD" , "NZD/USD"),
  value = c(1.18,0.79,1.38,0.734,0.711)
)

Here we create a new column called converted_salary which converts the 5 most common currencies in USD. These are then rounded to the nearest whole number.

#the values are taken from the currencies_preserved$value as to preserve the analysis when 
# getSymbols will no longer work. The index matches the currency pair.
ask_a_manager_2021 <- ask_a_manager_2021 %>% 
  mutate(converted_salary = case_when(
    currency == "GBP" ~ round(annual_salary*currencies_preserved$value[3]),
    currency == "AUD/NZD" & country == "Australia" ~ round(annual_salary*currencies_preserved$value[4]),
    currency == "AUD/NZD" & country == "New Zealand" ~ round(annual_salary*currencies_preserved$value[5]),
    currency == "CAD" ~ round(annual_salary*currencies_preserved$value[2]),
    currency == "EUR" ~ round(annual_salary*currencies_preserved$value[1]),
    TRUE ~ round(annual_salary)
  ))
#Here we filter the dataset to only include the salaries that were converted into USD terms. The other currencies also included lots of outliers which we also get rid of here.

ask_a_manager_2021 <- ask_a_manager_2021 %>% 
  filter(currency %in% c("USD","GBP","AUD/NZD","EUR","CAD") &
           !is.na(country))

ask_a_manager_2021 %>%
  count(currency, sort=TRUE) %>%
  mutate(percent = 100* n/sum(n))
currencynpercent
USD2012884.1 
CAD14646.12
GBP13625.69
EUR5472.29
AUD/NZD4281.79

Exploratory Data Analysis

Counts

# Some quick counts, groups, etc
ask_a_manager_2021 %>% 
  count(age_group, sort=TRUE) %>% 
  mutate(percent = 100* n/sum(n)) %>% 
  ggplot(aes(x=fct_relevel(age_group,levels=c("under 18","18-24","25-34","35-44","45-54","55-64","65 or over")), y=n)) +
<<<<<<< HEAD
  geom_bar(stat="identity") + 
  labs(title = "Age distribution of Ask a Manager survey respondents",
       x="Age group",
       y="Frequency",                                                  
       caption = "Source:Askamanager.com")

# 'country' 
ask_a_manager_2021 %>%
  count(country, sort=TRUE) %>% 
  mutate(percent = 100* n/sum(n))
countrynpercent
US1998883.5    
Canada14776.17   
UK13685.72   
Australia3381.41   
Germany1660.694  
Ireland1110.464  
New Zealand1000.418  
Netherlands760.318  
France560.234  
Spain410.171  
Belgium320.134  
Austria140.0585 
Finland140.0585 
Italy130.0543 
Denmark70.0293 
Israel60.0251 
Greece50.0209 
Japan50.0209 
Portugal50.0209 
Sweden50.0209 
Brazil40.0167 
India40.0167 
Mexico40.0167 
Puerto Rico40.0167 
Romania40.0167 
Singapore40.0167 
Latvia30.0125 
Luxembourg30.0125 
Pakistan30.0125 
Philippines30.0125 
South Africa30.0125 
Switzerland30.0125 
Bermuda20.00836
Bulgaria20.00836
China20.00836
Estonia20.00836
Ghana20.00836
Kenya20.00836
Lithuania20.00836
Malaysia20.00836
Norway20.00836
Poland20.00836
Thailand20.00836
Afghanistan10.00418
Argentina10.00418
Bahamas10.00418
Bangladesh10.00418
Cambodia10.00418
Cayman Islands10.00418
Chile10.00418
Costa Rica10.00418
Côte d’Ivoire10.00418
Croatia10.00418
Cuba10.00418
Ecuador10.00418
Eritrea10.00418
Hong Kong10.00418
Hungary10.00418
Isle of Man10.00418
Jamaica10.00418
Jordan10.00418
Kuwait10.00418
Malta10.00418
Morocco10.00418
Nigeria10.00418
Panama10.00418
Qatar10.00418
Russia10.00418
Rwanda10.00418
Serbia10.00418
Sierra Leone10.00418
Slovakia10.00418
Slovenia10.00418
Somalia10.00418
South Korea10.00418
Sri Lanka10.00418
Uganda10.00418
Ukraine10.00418
United Arab Emirates10.00418
Uruguay10.00418
Vietnam10.00418
======= geom_bar(stat="identity") + labs(title = "Age distribution of Ask a Manager survey respondents", x="Age group", y="Frequency", caption = "Source:Askamanager.com") # 'country' ask_a_manager_2021 %>% count(country, sort=TRUE) %>% mutate(percent = 100* n/sum(n)) >>>>>>> XuejingHuang-master # 'city' ask_a_manager_2021 %>% count(city, sort=TRUE) %>% <<<<<<< HEAD mutate(percent = 100* n/sum(n))
citynpercent
Boston7263.03   
Chicago7102.97   
New York6502.72   
Seattle6082.54   
London5482.29   
New York City4321.81   
Los Angeles4291.79   
San Francisco4091.71   
Portland3981.66   
Toronto3741.56   
Minneapolis3331.39   
Washington3301.38   
Austin3041.27   
Philadelphia3031.27   
Atlanta2941.23   
Denver2791.17   
Washington, DC2330.974  
Houston2260.944  
Vancouver2050.857  
Pittsburgh2020.844  
Dallas1990.832  
NYC1820.761  
Cambridge1810.756  
Madison1750.731  
Columbus1730.723  
San Diego1630.681  
Baltimore1480.618  
Indianapolis1470.614  
Washington DC1420.593  
Raleigh1360.568  
Cleveland1340.56   
Ottawa1300.543  
Richmond1280.535  
Phoenix1210.506  
Remote1140.476  
Arlington1090.456  
Durham1060.443  
Nashville1030.43   
St. Louis1020.426  
Cincinnati1010.422  
DC1000.418  
Sacramento970.405  
Melbourne960.401  
Milwaukee950.397  
Charlotte920.384  
Detroit900.376  
Manchester880.368  
Oakland850.355  
Salt Lake City850.355  
Rochester830.347  
Kansas City790.33   
Orlando790.33   
San Jose790.33   
Louisville780.326  
Sydney780.326  
Alexandria740.309  
Dublin740.309  
Ann Arbor720.301  
Montreal690.288  
Calgary680.284  
Tucson680.284  
Boulder660.276  
Des Moines650.272  
Tampa650.272  
Columbia640.267  
Birmingham630.263  
Omaha620.259  
Edmonton610.255  
St. Paul600.251  
Albuquerque550.23   
San Antonio550.23   
New Orleans540.226  
Albany530.221  
Springfield530.221  
Brooklyn520.217  
Grand Rapids520.217  
Lexington520.217  
Buffalo490.205  
Irvine480.201  
Jacksonville480.201  
Las Vegas460.192  
Memphis460.192  
Rockville460.192  
Hartford450.188  
Winnipeg450.188  
Berlin440.184  
Edinburgh440.184  
Bristol430.18   
Brisbane420.176  
Oklahoma City420.176  
Saint Paul420.176  
Boise410.171  
Burlington410.171  
Halifax410.171  
Wilmington410.171  
Bloomington400.167  
Fort Worth400.167  
Wellington400.167  
Bellevue390.163  
N/A390.163  
Leeds380.159  
Bethesda370.155  
Oxford370.155  
Redmond370.155  
Amsterdam360.15   
Colorado Springs360.15   
Providence360.15   
Syracuse360.15   
Tulsa360.15   
Wichita360.15   
Harrisburg350.146  
Charleston340.142  
Fort Collins340.142  
Charlottesville330.138  
Anchorage320.134  
Fairfax320.134  
Bay Area310.13   
Glasgow310.13   
Huntsville310.13   
Paris310.13   
Auckland300.125  
Lansing300.125  
Tacoma300.125  
Washington, D.C.300.125  
Dayton290.121  
Newark290.121  
Salem290.121  
Knoxville280.117  
Miami280.117  
Saint Louis280.117  
Silver Spring280.117  
Athens270.113  
Eugene270.113  
Greensboro270.113  
Lincoln270.113  
Reston270.113  
Victoria270.113  
Munich260.109  
Perth260.109  
Adelaide250.104  
Chapel Hill250.104  
Berkeley240.1    
Missoula240.1    
New Haven240.1    
Princeton240.1    
Gainesville230.0961 
Greenville230.0961 
Spokane230.0961 
Olympia220.0919 
Santa Clara220.0919 
Palo Alto210.0878 
Toledo210.0878 
Vienna210.0878 
Waltham210.0878 
Annapolis200.0836 
Canberra200.0836 
Chattanooga200.0836 
District of Columbia200.0836 
St Louis200.0836 
Troy200.0836 
Worcester200.0836 
200.0836 
Brussels190.0794 
Lafayette190.0794 
Little Rock190.0794 
Nottingham190.0794 
Scottsdale190.0794 
South Bend190.0794 
Baton Rouge180.0752 
Brighton180.0752 
Long Beach180.0752 
Manhattan180.0752 
McLean180.0752 
Mountain View180.0752 
Norfolk180.0752 
Overland Park180.0752 
Plano180.0752 
Prefer not to answer180.0752 
York180.0752 
Augusta170.071  
College Park170.071  
Frederick170.071  
Iowa City170.071  
Lancaster170.071  
Sunnyvale170.071  
Barcelona160.0669 
Champaign160.0669 
Concord160.0669 
Everett160.0669 
Fresno160.0669 
Honolulu160.0669 
Savannah160.0669 
Sheffield160.0669 
Tallahassee160.0669 
Tempe160.0669 
Waterloo160.0669 
Akron150.0627 
Reno150.0627 
Santa Cruz150.0627 
Saskatoon150.0627 
Allentown140.0585 
Beaverton140.0585 
Fort Lauderdale140.0585 
Hamilton140.0585 
Hillsboro140.0585 
Jackson140.0585 
Kitchener140.0585 
Liverpool140.0585 
Lowell140.0585 
Newton140.0585 
Reading140.0585 
San Francisco Bay Area140.0585 
San Mateo140.0585 
St Paul140.0585 
Alpharetta130.0543 
Asheville130.0543 
Bellingham130.0543 
Bethlehem130.0543 
Canton130.0543 
Fayetteville130.0543 
Fort Wayne130.0543 
Gaithersburg130.0543 
Hamburg130.0543 
Kalamazoo130.0543 
King of Prussia130.0543 
n/a130.0543 
new york130.0543 
Orange130.0543 
Pensacola130.0543 
Plymouth130.0543 
Regina130.0543 
Southampton130.0543 
Vancouver, BC130.0543 
Washington D.C.130.0543 
Aberdeen120.0501 
Aurora120.0501 
Cambridge, MA120.0501 
Cary120.0501 
Christchurch120.0501 
East Lansing120.0501 
Ithaca120.0501 
Lakewood120.0501 
Lehi120.0501 
Medford120.0501 
Morristown120.0501 
New york120.0501 
Newcastle120.0501 
Northampton120.0501 
Pasadena120.0501 
portland120.0501 
Portsmouth120.0501 
Prefer not to say120.0501 
SF Bay Area120.0501 
Stamford120.0501 
Belfast110.046  
Chicago suburbs110.046  
Cork110.046  
Corvallis110.046  
Evanston110.046  
Falls Church110.046  
Fargo110.046  
Frisco110.046  
Green Bay110.046  
Hanover110.046  
Herndon110.046  
Idaho Falls110.046  
Jersey City110.046  
Nashua110.046  
Ontario110.046  
Richland110.046  
Santa Fe110.046  
Santa Rosa110.046  
Sarasota110.046  
Twin Cities110.046  
Windsor110.046  
Andover100.0418 
Appleton100.0418 
Auburn100.0418 
Bentonville100.0418 
Boston, MA100.0418 
Broomfield100.0418 
College Station100.0418 
Denton100.0418 
DFW100.0418 
Fairbanks100.0418 
Irving100.0418 
La Crosse100.0418 
Middletown100.0418 
Needham, MA100.0418 
Norwich100.0418 
Poughkeepsie100.0418 
prefer not to answer100.0418 
Renton100.0418 
Rockford100.0418 
Scranton100.0418 
Somerset100.0418 
South San Francisco100.0418 
Southfield100.0418 
Topeka100.0418 
Utrecht100.0418 
Williamsburg100.0418 
Winston-Salem100.0418 
Ames90.0376 
Cedar Rapids90.0376 
Chandler90.0376 
D.C.90.0376 
Kent90.0376 
Lawrence90.0376 
Madrid90.0376 
Manassas90.0376 
Morgantown90.0376 
Naperville90.0376 
Newport90.0376 
Orange County90.0376 
Orem90.0376 
Parsippany90.0376 
Portland, OR90.0376 
Redwood City90.0376 
remote90.0376 
Schaumburg90.0376 
Somerville90.0376 
Trenton90.0376 
Waco90.0376 
Watertown90.0376 
West Palm Beach90.0376 
Bangor80.0334 
Bath80.0334 
Boston area80.0334 
Bothell80.0334 
Bozeman80.0334 
Cardiff80.0334 
chicago80.0334 
Chicago Suburbs80.0334 
Cupertino80.0334 
Davis80.0334 
Duluth80.0334 
Edmonton, Alberta80.0334 
Exeter80.0334 
Fairfield80.0334 
Gloucester80.0334 
Golden80.0334 
Guelph80.0334 
Leicester80.0334 
Lewiston80.0334 
Long Island80.0334 
Metro Detroit80.0334 
Milton Keynes80.0334 
Mobile80.0334 
Montgomery80.0334 
Na80.0334 
Newcastle upon Tyne80.0334 
Peoria80.0334 
Philadelphia suburbs80.0334 
Provo80.0334 
Redding80.0334 
Sioux Falls80.0334 
Spartanburg80.0334 
St. Petersburg80.0334 
Surrey80.0334 
Walnut Creek80.0334 
Woburn80.0334 
-70.0293 
Amherst70.0293 
Boca Raton70.0293 
Carson City70.0293 
Coventry70.0293 
Decatur70.0293 
Dubuque70.0293 
Düsseldorf70.0293 
Englewood70.0293 
Florence70.0293 
Fort Myers70.0293 
Frankfurt70.0293 
Franklin70.0293 
Glendale70.0293 
Helena70.0293 
Helsinki70.0293 
Kingston70.0293 
Laramie70.0293 
Lenexa70.0293 
Los angeles70.0293 
Mclean70.0293 
Midland70.0293 
Modesto70.0293 
Moline70.0293 
Morrisville70.0293 
N/a70.0293 
New York, NY70.0293 
Norman70.0293 
Ottawa, Ontario70.0293 
Richardson70.0293 
Riverside70.0293 
Roanoke70.0293 
Rural70.0293 
san francisco70.0293 
Suitland70.0293 
Toronto, Ontario70.0293 
Tuscaloosa70.0293 
White Plains70.0293 
Amarillo60.0251 
Anaheim60.0251 
Bedford60.0251 
Binghamton60.0251 
Blacksburg60.0251 
Carrollton60.0251 
Chantilly60.0251 
Chelmsford60.0251 
Chester60.0251 
Costa Mesa60.0251 
Draper60.0251 
El Paso60.0251 
Erie60.0251 
Framingham60.0251 
Greenbelt60.0251 
Harrisonburg60.0251 
Henderson60.0251 
Laurel60.0251 
Lebanon60.0251 
Leesburg60.0251 
Logan60.0251 
Lynchburg60.0251 
Marietta60.0251 
Natick60.0251 
Needham60.0251 
Novi60.0251 
Nyc60.0251 
Ogden60.0251 
Pocatello60.0251 
prefer not to say60.0251 
Pullman60.0251 
Quincy60.0251 
Saginaw60.0251 
San Marcos60.0251 
Santa Barbara60.0251 
seattle60.0251 
Seattle, WA60.0251 
SF60.0251 
Shelton60.0251 
Towson60.0251 
Tyler60.0251 
Various60.0251 
Verona60.0251 
Virginia Beach60.0251 
Warwick60.0251 
West Lafayette60.0251 
Woodstock60.0251 
Alameda50.0209 
Ashland50.0209 
Atlanta metro area50.0209 
Beaumont50.0209 
Billings50.0209 
boston50.0209 
Boston Area50.0209 
Broken Arrow50.0209 
Burbank50.0209 
Carlsbad50.0209 
Cherry Hill50.0209 
Chesterfield50.0209 
Chico50.0209 
Claremont50.0209 
Corpus Christi50.0209 
Daytona Beach50.0209 
Eagan50.0209 
Escondido50.0209 
Fredericksburg50.0209 
Fremont50.0209 
Grand Forks50.0209 
Greater Toronto Area50.0209 
Hampton50.0209 
Holland50.0209 
Home50.0209 
Horsham50.0209 
indianapolis50.0209 
Juneau50.0209 
Kennewick50.0209 
Kenosha50.0209 
Kirkland50.0209 
Lakeland50.0209 
Leawood50.0209 
Lisbon50.0209 
London, UK50.0209 
Lyon50.0209 
Mankato50.0209 
Marlborough50.0209 
Mason50.0209 
Menlo Park50.0209 
Milan50.0209 
Milford50.0209 
Murfreesboro50.0209 
New Brunswick50.0209 
New York city50.0209 
Northfield50.0209 
Norwalk50.0209 
Pleasanton50.0209 
Rock Hill50.0209 
Roseville50.0209 
San Luis Obispo50.0209 
Sanford50.0209 
Santa Ana50.0209 
Santa Monica50.0209 
Shreveport50.0209 
Small town50.0209 
St. Louis, MO50.0209 
Stafford50.0209 
State College50.0209 
Traverse City50.0209 
Utica50.0209 
Ventura50.0209 
washington50.0209 
West Chester50.0209 
Ypsilanti50.0209 
Aiken40.0167 
Aliso Viejo40.0167 
Batavia40.0167 
Bay City40.0167 
Blaine40.0167 
Bournemouth40.0167 
Bowling Green40.0167 
Bradenton40.0167 
Bremerton40.0167 
Brentwood40.0167 
Bronx40.0167 
Canada40.0167 
Chicago area40.0167 
Chicago, IL40.0167 
Chicagoland40.0167 
Clemson40.0167 
Cologne40.0167 
Conshohocken40.0167 
Copenhagen40.0167 
Danbury40.0167 
Dc40.0167 
Dover40.0167 
Downers Grove40.0167 
Easton40.0167 
Eau Claire40.0167 
Eden Prairie40.0167 
Edmonds40.0167 
Elizabethtown40.0167 
Evansville40.0167 
Exton40.0167 
Farmington Hills40.0167 
Flagstaff40.0167 
Florham Park40.0167 
Folsom40.0167 
Frankfort40.0167 
Galway40.0167 
Georgetown40.0167 
Gilbert40.0167 
Greeley40.0167 
Greenfield40.0167 
GTA40.0167 
Hamilton, Ontario40.0167 
Hoboken40.0167 
Issaquah40.0167 
Jonesboro40.0167 
Joplin40.0167 
Katy40.0167 
Keene40.0167 
Kelowna40.0167 
Las Cruces40.0167 
Lawrenceville40.0167 
Lisle40.0167 
Longmont40.0167 
Longview40.0167 
Los Alamos40.0167 
los angeles40.0167 
Marion40.0167 
Meridian40.0167 
Metairie40.0167 
Milwaukee area40.0167 
Minnetonka40.0167 
Mississauga40.0167 
Moncton40.0167 
Montgomery County40.0167 
Montpelier40.0167 
Montréal40.0167 
Moorhead40.0167 
na40.0167 
Nanaimo40.0167 
Newport News40.0167 
Niles40.0167 
North Chicago40.0167 
Northbrook40.0167 
Oak Ridge40.0167 
Olathe40.0167 
phoenix40.0167 
Pomona40.0167 
Port Orchard40.0167 
Portland, ME40.0167 
Puyallup40.0167 
Rapid City40.0167 
Regional40.0167 
Research Triangle Park40.0167 
rural40.0167 
Rural area40.0167 
Rural Ontario40.0167 
Salina40.0167 
Salt lake city40.0167 
San francisco40.0167 
San Rafael40.0167 
San Ramon40.0167 
Sandy40.0167 
Saratoga40.0167 
Schenectady40.0167 
South Jordan40.0167 
St. John's40.0167 
Stratford40.0167 
Terre Haute40.0167 
Thousand Oaks40.0167 
toronto40.0167 
Torrance40.0167 
Tualatin40.0167 
Tupelo40.0167 
Tustin40.0167 
Tysons40.0167 
UK40.0167 
Upstate NY40.0167 
Urbana40.0167 
Vancouver, British Columbia40.0167 
Warner Robins40.0167 
Warren40.0167 
washington dc40.0167 
Waukesha40.0167 
Waynesboro40.0167 
West Des Moines40.0167 
Westlake40.0167 
Westminster40.0167 
WFH40.0167 
Winston Salem40.0167 
Work from home40.0167 
Yuma40.0167 
Abbotsford30.0125 
Adelaide, South Australia30.0125 
Albany, NY30.0125 
Alberta30.0125 
Alexandria, VA30.0125 
Anderson30.0125 
Ankeny30.0125 
Anonymous30.0125 
Antwerp30.0125 
Arlington Heights30.0125 
Arlington, VA30.0125 
Arvada30.0125 
Ashburn30.0125 
atlanta30.0125 
Atlantic City30.0125 
Attleboro30.0125 
Austin, TX30.0125 
Bakersfield30.0125 
Barnstable30.0125 
BC30.0125 
Beachwood30.0125 
Bemidji30.0125 
Bend30.0125 
Bennington30.0125 
Bergen County30.0125 
Birmingham, AL30.0125 
Bismarck30.0125 
Bloomfield Hills30.0125 
Bonn30.0125 
Bradford30.0125 
Bridgeport30.0125 
Bridgewater30.0125 
British Columbia30.0125 
Brockville30.0125 
Brookline30.0125 
Brunswick30.0125 
Camden30.0125 
Cape Girardeau30.0125 
Carbondale30.0125 
Carlisle30.0125 
Central PA30.0125 
Chanhassen30.0125 
charlotte30.0125 
Charlottetown30.0125 
Cheltenham30.0125 
Chesapeake30.0125 
Cheshire30.0125 
Cheyenne30.0125 
Chilliwack30.0125 
Cincinnati, OH30.0125 
City30.0125 
Clinton30.0125 
Colorado springs30.0125 
Columbus, OH30.0125 
Council Bluffs30.0125 
Cumming30.0125 
Dearborn30.0125 
Denver metro30.0125 
Denver Metro Area30.0125 
Denver, CO30.0125 
Douglasville30.0125 
Doylestown30.0125 
dublin30.0125 
Dulles30.0125 
East Hanover30.0125 
Elizabeth30.0125 
Eureka30.0125 
Fairfax County30.0125 
Fall River30.0125 
Fishers30.0125 
Fort Smith30.0125 
Fort wayne30.0125 
Fredericton30.0125 
Freeport30.0125 
Fullerton30.0125 
Geelong30.0125 
Germany30.0125 
Glendale Heights30.0125 
Glens Falls30.0125 
Grand Junction30.0125 
Greencastle30.0125 
Greenwich30.0125 
Gulfport30.0125 
Hackensack30.0125 
Halifax, Nova Scotia30.0125 
Hammond30.0125 
Hampton Roads30.0125 
hartford30.0125 
Hatfield30.0125 
Hattiesburg30.0125 
Hendersonville30.0125 
Hickory30.0125 
Hudson30.0125 
Hull30.0125 
Itasca30.0125 
Jefferson City30.0125 
Jeffersonville30.0125 
Johnston30.0125 
Joliet30.0125 
Kingsport30.0125 
Kitchener, Ontario30.0125 
LA30.0125 
La Grande30.0125 
Lake Forest30.0125 
Lansing, MI30.0125 
Largo30.0125 
Leeds, UK30.0125 
Lemont30.0125 
London, Ontario30.0125 
Loveland30.0125 
Lubbock30.0125 
Lynnwood30.0125 
Mahwah30.0125 
Malvern30.0125 
Many30.0125 
Maplewood30.0125 
Marquette30.0125 
Martinsburg30.0125 
Mechanicsburg30.0125 
Medina30.0125 
Melville30.0125 
Menomonee Falls30.0125 
Merced30.0125 
Metro Atlanta30.0125 
Middleton30.0125 
Minneapolis-St. Paul30.0125 
Minneapolis/St Paul30.0125 
Monroe30.0125 
Montvale30.0125 
Mount Laurel30.0125 
Mount Vernon30.0125 
Naples30.0125 
Nassau30.0125 
New Castle30.0125 
Newburyport30.0125 
No30.0125 
Normal30.0125 
North Andover30.0125 
Northern Ontario30.0125 
Northern VA30.0125 
Novato30.0125 
NY30.0125 
Oak Brook30.0125 
Olney30.0125 
Oshkosh30.0125 
Owings Mills30.0125 
Palm Springs30.0125 
Paso Robles30.0125 
Perrysburg30.0125 
Petaluma30.0125 
Peterborough30.0125 
Piscataway30.0125 
pittsburgh30.0125 
Plattsburgh30.0125 
Plymouth Meeting30.0125 
Portland, Oregon30.0125 
Prince George30.0125 
Pueblo30.0125 
Quantico30.0125 
Quebec City30.0125 
Queens30.0125 
Racine30.0125 
Red Bank30.0125 
Redlands30.0125 
Remote worker30.0125 
Riverdale30.0125 
Rochester Hills30.0125 
Rochester, NY30.0125 
Rogers30.0125 
Rosslyn30.0125 
Roswell30.0125 
Rotterdam30.0125 
San antonio30.0125 
San diego30.0125 
Saratoga Springs30.0125 
Sheboygan30.0125 
Sierra Vista30.0125 
Silverdale30.0125 
Singapore30.0125 
Sioux falls30.0125 
Solon30.0125 
South Hadley30.0125 
St Paul, MN30.0125 
St. Cloud30.0125 
Stanford30.0125 
Starkville30.0125 
Staunton30.0125 
Sterling30.0125 
Stevens Point30.0125 
Stockholm30.0125 
Suburban Chicago30.0125 
Sunderland30.0125 
Suwanee30.0125 
Swindon30.0125 
Tarrytown30.0125 
Tel Aviv30.0125 
The Hague30.0125 
Thunder Bay30.0125 
Tigard30.0125 
Truro30.0125 
Valencia30.0125 
Valparaiso30.0125 
vancouver30.0125 
Vancouver Island30.0125 
Virginia30.0125 
Virtual30.0125 
Wakefield30.0125 
Waterford30.0125 
Waterville30.0125 
Weehawken30.0125 
Wells30.0125 
Westbrook30.0125 
Westchester30.0125 
Westfield30.0125 
Westwood30.0125 
Wheeling30.0125 
Whitehorse30.0125 
Winchester30.0125 
Woodinville30.0125 
--20.00836
.20.00836
A Coruña20.00836
Abilene20.00836
Accra20.00836
Addison20.00836
Agawam20.00836
Alamogordo20.00836
albuquerque20.00836
Allen20.00836
Alton20.00836
Ambler20.00836
amsterdam20.00836
anchorage20.00836
ann arbor20.00836
Annandale20.00836
Apache Junction20.00836
Apex20.00836
Apple Valley20.00836
arlington20.00836
Arroyo Grande20.00836
Aspen20.00836
ATLANTA20.00836
Atlanta, GA20.00836
austin20.00836
Ayer20.00836
Baltimore Area20.00836
Baltimore County20.00836
Baltimore, MD20.00836
Bangalore20.00836
Bangkok20.00836
Barrie20.00836
Barrington20.00836
Basingstoke20.00836
Batesville20.00836
Bay area20.00836
Belmont20.00836
Berwyn20.00836
Bethesda MD20.00836
Beverly Hills20.00836
Birmingham UK20.00836
Birmingham, England20.00836
Birmingham, UK20.00836
Bishop20.00836
Bloomfield20.00836
Blue Bell20.00836
Bluffton20.00836
BOSTON20.00836
Boston suburbs20.00836
Bowmanville20.00836
Boynton Beach20.00836
Braintree20.00836
Brampton20.00836
Branford20.00836
Brantford20.00836
Brattleboro20.00836
Braunschweig20.00836
Brewster20.00836
Brookfield20.00836
Buckinghamshire20.00836
buffalo20.00836
Burlingame20.00836
Byron Bay20.00836
Calgary, AB20.00836
Calgary, Alberta20.00836
Cambridge, ON20.00836
Cambridge, UK20.00836
Camp hill20.00836
Campbell20.00836
Cape Town20.00836
Carmel20.00836
Carpinteria20.00836
Carson20.00836
Cary, NC20.00836
Casper20.00836
Centennial20.00836
Central IL20.00836
Central Virginia20.00836
Chestnut Hill20.00836
Chevy Chase20.00836
Chicago (suburbs)20.00836
Chicopee20.00836
Clarksburg20.00836
Cleveland, Ohio20.00836
Cloquet20.00836
Cluj-Napoca20.00836
Coeur d'Alene20.00836
Collegeville20.00836
Collingswood20.00836
Columbia, SC20.00836
Conyers20.00836
Coral Gables20.00836
Coralville20.00836
Covington20.00836
Crawley20.00836
Crossville20.00836
Croydon20.00836
Culver City20.00836
Curitiba20.00836
dallas20.00836
Dalton20.00836
Danvers20.00836
Danville20.00836
dc20.00836
DC metro area20.00836
Decline20.00836
Decline to answer20.00836
Deerfield Beach20.00836
DeKalb20.00836
Delaware20.00836
Delft20.00836
Denver CO20.00836
Des Moines metro20.00836
Detroit area20.00836
Detroit metro20.00836
Detroit Metro20.00836
Detroit, MI20.00836
Devon20.00836
Dunedin20.00836
Durango20.00836
East Hartford20.00836
East Moline20.00836
East Windsor20.00836
Eastern Iowa20.00836
Eastern Washington20.00836
Edison20.00836
edmonton20.00836
Effingham20.00836
Elkhart20.00836
Elkridge20.00836
Ellicott City20.00836
Elmira20.00836
Elyria20.00836
Emeryville20.00836
Essex20.00836
Eufaula20.00836
Evanston, IL20.00836
Fair Lawn20.00836
Fallon20.00836
Falls Church, VA20.00836
Falmouth20.00836
Farmington20.00836
Flemington20.00836
Fort Bragg20.00836
Fort McMurray20.00836
Fort Washington20.00836
Framingham, MA20.00836
Fredonia20.00836
From home20.00836
Ft Lauderdale20.00836
Ft Meade20.00836
Fully Remote20.00836
Fulton20.00836
Galveston20.00836
Garden City20.00836
Garden grove20.00836
Garyville20.00836
Gent20.00836
Gold Coast20.00836
Grand rapids20.00836
Grapevine20.00836
Greater Boston20.00836
Greater Boston area20.00836
Greater Boston Area20.00836
Greater Chicago Area20.00836
Greater Cleveland20.00836
Greater London20.00836
Greater Philadelphia area20.00836
Greater Philly20.00836
Grinnell20.00836
Groton20.00836
Grove City20.00836
Guildford20.00836
Hagerstown20.00836
Halifax, NS20.00836
Hamden20.00836
Hamilton, ON20.00836
Havre de Grace20.00836
Hawthorne20.00836
Hayward20.00836
Heilbronn20.00836
Herne20.00836
High Point20.00836
Hillsborough20.00836
Hilo20.00836
Hollywood20.00836
Houston area20.00836
Houston, TX20.00836
Huddersfield20.00836
Hunt Valley20.00836
Huntingdon20.00836
Huntington20.00836
Ipswich20.00836
Ireland20.00836
Iselin20.00836
Jamestown20.00836
Jefferson20.00836
Johnson City20.00836
Jupiter20.00836
Kansas city20.00836
Kansas City area20.00836
Karachi20.00836
Kearney20.00836
Kelowna, BC20.00836
Kennebunk20.00836
Kennesaw20.00836
Kensington20.00836
Kirtland20.00836
Kitchener, ON20.00836
La Vergne20.00836
Lake Bluff20.00836
Lake Jackson20.00836
Lake Mary20.00836
Lake Zurich20.00836
Lansdale20.00836
Larkspur20.00836
Launceston20.00836
Lawrenceville, NJ20.00836
Leamington Spa20.00836
Lee's Summit20.00836
Lehigh Valley20.00836
Leiden20.00836
Leominster20.00836
Leuven20.00836
Lewisville20.00836
Lima20.00836
Lititz20.00836
Livermore20.00836
Livingston20.00836
Livonia20.00836
Los Angeles County20.00836
Los Angeles, CA20.00836
Loughborough20.00836
louisville20.00836
Lower Mainland20.00836
Luton20.00836
Luxembourg20.00836
Mackay20.00836
Malone20.00836
Manchester, UK20.00836
Manila20.00836
Maple Grove20.00836
Markham20.00836
Marlton20.00836
Marshfield20.00836
Maryland20.00836
Marysville20.00836
Maryville20.00836
McDonough20.00836
McLean, VA20.00836
McMinnville20.00836
Mechanicsville20.00836
Media20.00836
melbourne20.00836
Merrimack20.00836
Merritt Island20.00836
Mesa20.00836
Mexico City20.00836
Miami Beach20.00836
Milpitas20.00836
milwaukee20.00836
Milwaukee, WI20.00836
minneapolis20.00836
Minneapolis suburbs20.00836
Minneapolis-St Paul20.00836
Mishawaka20.00836
Mission20.00836
Monterey20.00836
Montreal, QC20.00836
Morgan Hill20.00836
Morris20.00836
Moscow20.00836
Muncie20.00836
Murray20.00836
Nairobi20.00836
Napa20.00836
nashville20.00836
Nauvoo20.00836
Near LA20.00836
Neenah20.00836
Nevada20.00836
New Albany20.00836
New Britain20.00836
New haven20.00836
New Hope20.00836
New Jersey20.00836
New London20.00836
New Paltz20.00836
New Plymouth20.00836
New Ulm20.00836
Newburgh20.00836
Newcastle NSW20.00836
Newcastle Upon Tyne20.00836
Newcastle-upon-Tyne20.00836
Newnan20.00836
Newtown20.00836
Newtown Square20.00836
None20.00836
Norcross20.00836
North Bay20.00836
North Carolina20.00836
North East20.00836
North Haven20.00836
North of Boston20.00836
North Port20.00836
Northeast Ohio20.00836
Nova Scotia20.00836
Nuremberg20.00836
Nürnberg20.00836
O20.00836
O'Fallon20.00836
Oakville20.00836
Ocean Springs20.00836
Oceanside20.00836
Okinawa20.00836
Omaha, NE20.00836
Opelika20.00836
Orange County Area20.00836
orlando20.00836
Other20.00836
ottawa20.00836
Owensboro20.00836
Oxfordshire20.00836
Palmdale20.00836
Palo alto20.00836
Paramus20.00836
Paterson20.00836
Pelham20.00836
Pembroke20.00836
Peoria Illinois20.00836
philadelphia20.00836
Philadelphia suburb20.00836
Phx20.00836
Pittsboro20.00836
Pittsburg20.00836
PIttsburgh20.00836
Pittsburgh, PA20.00836
Pittsfield20.00836
Plantation20.00836
Platteville20.00836
Portage20.00836
Portland area20.00836
Potomac20.00836
Potsdam20.00836
Pottstown20.00836
Prefer not to disclose20.00836
Prefer not to respond20.00836
Prescott20.00836
Preston20.00836
princeton20.00836
Province20.00836
Provincetown20.00836
Purchase20.00836
Quakertown20.00836
Queensland20.00836
Raleigh-Durham20.00836
Raleigh, NC20.00836
Raymond20.00836
Reading, UK20.00836
Reims20.00836
Remotely20.00836
Remotely from MD20.00836
Research Triangle20.00836
Richmond, VA20.00836
Ridgefield20.00836
Riga20.00836
Ripon20.00836
Riverview20.00836
Rockland20.00836
Rockville Centre20.00836
Rolla20.00836
Rolling Meadows20.00836
Rome20.00836
Ronkonkoma20.00836
Rosemont20.00836
Rosemount20.00836
Rural town20.00836
Sacramento, CA20.00836
Saint Cloud20.00836
Saint paul20.00836
Saint Petersburg20.00836
Salem, OR20.00836
Salinas20.00836
Saline20.00836
Salt Lake20.00836
San Bernardino20.00836
San Francisco Bay area20.00836
SAN JOSE20.00836
San Jose, CA20.00836
San Juan20.00836
Sandpoint20.00836
Saranac Lake20.00836
Seabrook20.00836
Seattle area20.00836
Seattle Area20.00836
Simi Valley20.00836
Slc20.00836
Sligo20.00836
small town20.00836
Sofia20.00836
South Burlington20.00836
South East England20.00836
South Jersey20.00836
South Lake Tahoe20.00836
South Sioux City20.00836
Southern California20.00836
St Albans20.00836
St louis20.00836
st paul20.00836
St. Marys20.00836
Stillwater20.00836
Storrs20.00836
Stuttgart20.00836
Suburb of Chicago20.00836
Suburbs of Philadelphia20.00836
Sudbury20.00836
Suffolk20.00836
Summit20.00836
Sunrise20.00836
Sussex20.00836
Swansea20.00836
sydney20.00836
Sydney, Australia20.00836
Tallinn20.00836
Texarkana20.00836
The Woodlands20.00836
Thessaloniki20.00836
Titusville20.00836
Tokyo20.00836
Toronto, ON20.00836
Torrington20.00836
Townsville20.00836
Tracy20.00836
Triangle20.00836
Truckee20.00836
Trumbull20.00836
Tumwater20.00836
Tunbridge Wells20.00836
Twin Cities Metro20.00836
Twin Cities suburbs20.00836
Twin Falls20.00836
Ulm20.00836
Undisclosed20.00836
Upper Marlboro20.00836
Utah County20.00836
Vacaville20.00836
Valdosta20.00836
Vallejo20.00836
Vancouver BC20.00836
Vernon20.00836
Vestal20.00836
Vicksburg20.00836
VICTORIA20.00836
Victoria, BC20.00836
Vilnius20.00836
Walla Walla20.00836
Warminster20.00836
Warrenville20.00836
Warsaw20.00836
Washington, D.C20.00836
Waterloo, Ontario20.00836
Wayne20.00836
West Hartford20.00836
West palm beach20.00836
Weymouth20.00836
Whippany20.00836
Whitewater20.00836
Wilkes Barre20.00836
Windsor Locks20.00836
Winnetka20.00836
Winter Haven20.00836
Wyomissing20.00836
xxx20.00836
Yellowknife20.00836
Zwolle20.00836
---10.00418
-----10.00418
“Large” Canadian prairie city.10.00418
(Province of Alberta)10.00418
(Rural)10.00418
**Too small a sample size, can't share10.00418
/10.00418
000010.00418
1204310.00418
4690110.00418
60k Small City10.00418
A city in the UK10.00418
A city small enough to not answer this question10.00418
A large city10.00418
A major Canadian city10.00418
A major one10.00418
A small city10.00418
a small village in Okinawa prefecture (sorry, it's too identifying)10.00418
A very large city10.00418
Aachen10.00418
Aberdeen Proving Ground10.00418
Aberdeenshire10.00418
Abidjan10.00418
Abington10.00418
Abington, PA10.00418
Acton, MA10.00418
Affluent Chicago suburb10.00418
Ainsworth10.00418
Akron, Ohio10.00418
Albany region10.00418
Albany-Schenectady-Troy Metro Area10.00418
Albemarle10.00418
Albuquerqur10.00418
Aldie10.00418
Aldie, VA10.00418
Alexandria VA10.00418
Alexandria, LA10.00418
Alexandrira10.00418
Algonac10.00418
Alice Springs10.00418
all over N CA10.00418
Allegan10.00418
Allen Park10.00418
Allen, TX10.00418
Allen/Plano10.00418
Allendale, MI10.00418
Alpharetta, GA10.00418
Alsace (remote to Paris)10.00418
Altadena10.00418
Altamonte Springs10.00418
Altoona10.00418
Altus10.00418
Alvarado10.00418
American Fork10.00418
Amesbury10.00418
Amherst, MA10.00418
Amityville10.00418
Amman10.00418
Ammon10.00418
Amory10.00418
Amsterdsm10.00418
An exact answer would out me10.00418
Anaconda10.00418
Anacortes10.00418
Anaheim-Santa Ana-Irvine metro region10.00418
Anchoragr10.00418
Ann Arbor area10.00418
Ann Arbor, Michigan10.00418
annandale Va10.00418
Annapolis Junction10.00418
Annapolis Valley10.00418
Anon10.00418
anonymous10.00418
Arcadia10.00418
Arden10.00418
Ardmore10.00418
Ardrossan10.00418
Arkadelphia10.00418
Arles10.00418
ARLINGTON10.00418
arlington, va10.00418
Arlington, VA (Washington D.C. metro area)10.00418
Arnold10.00418
Asbury Park10.00418
Asheboro10.00418
Asheville, NC10.00418
Ashford10.00418
Asmara10.00418
aston10.00418
at home10.00418
Atascadero10.00418
Athlone10.00418
Athol10.00418
AtlantA10.00418
Atlanta Metro10.00418
Atlanta suburb10.00418
Atlanta, Georgia10.00418
Atlanta/Decatur10.00418
Auburn Hills10.00418
auckland10.00418
Augusta - remote10.00418
Augusta IL10.00418
aurora10.00418
Austell10.00418
Austin metro area10.00418
Austin Metro Area10.00418
Australia not Sydney10.00418
Avon Lake10.00418
Aylesbury10.00418
Badajoz10.00418
Baden-Württemberg10.00418
Bagdad10.00418
Bainbridge Island10.00418
Ball Ground10.00418
Ballarat10.00418
Ballston Spa10.00418
BALTIMORE10.00418
baltimore metro10.00418
Baltimore metro region, MD10.00418
Baltimore suburb10.00418
Baltimore, Maryland10.00418
Bangot10.00418
Bannockburn10.00418
Bardstown, KY. Store is located in Frankfort10.00418
Barrie Ontario10.00418
Bartlesville10.00418
Bartlett10.00418
barxelona10.00418
Based on current client project10.00418
Basel10.00418
BASEL10.00418
Basking Ridge10.00418
Bathesda10.00418
Bay Area / Palo Alto10.00418
Bay Area, CA10.00418
Bay of Plenty10.00418
Bay St. Louis10.00418
Beacon10.00418
Beaufort10.00418
Beaverton, OR (Portland suburb)10.00418
Bedford, NH10.00418
Bedfordshire10.00418
Bedminster10.00418
Beijing10.00418
BELFAST10.00418
Belfast - for context, our organization has country-based payscales, not city/state10.00418
Belleville10.00418
Bellevue, WA10.00418
Bellevue, wa, usa10.00418
Belmont, CA (SF Bay Area)10.00418
Belo Horizonte10.00418
Beltsville10.00418
Bend, OR10.00418
Bensenville10.00418
Benton10.00418
Benton Harbor10.00418
Berea10.00418
Bergen10.00418
Berkley10.00418
Berkley Heights10.00418
berlin10.00418
Berlin (remote for US clients)10.00418
Berlin, Germany10.00418
Berryville10.00418
Berwick10.00418
Bessemer10.00418
Bethel10.00418
Bethlehem, PA10.00418
Bettendorf10.00418
Beverly10.00418
Beverly Hills, CA10.00418
Biddeford10.00418
BIG BEAR CITY10.00418
Bigfork10.00418
bilbao10.00418
Billingham10.00418
Biloxi10.00418
Birm10.00418
Blackpool10.00418
Bloomington, IL10.00418
Bluffdale10.00418
Boardman10.00418
Boca Chica10.00418
Boerne10.00418
Bolingbrook10.00418
Bolton10.00418
Bonita Springs10.00418
Bordeaux10.00418
Boron10.00418
Boston (greater Boston metro area)10.00418
Boston (Somerville specifically)10.00418
Boston MA10.00418
Boston Massachusetts10.00418
Boston metro10.00418
Boston Metro area10.00418
Boston Metro Area10.00418
Boston Suburb10.00418
Boston, ma10.00418
Boston(ish)10.00418
Boston/Cambridge10.00418
Boulder but we are remote10.00418
Boulder City10.00418
Boulder, CO10.00418
Boxborough10.00418
Boyertown10.00418
Bozeman, MT10.00418
Bracknell10.00418
Braine10.00418
Brambleton10.00418
Brandon10.00418
Bratislava10.00418
Brea10.00418
Bremen10.00418
Bremerhaven10.00418
Brest10.00418
Brick10.00418
Bridgend10.00418
Bridgewater, NJ10.00418
Brigham City10.00418
brighton10.00418
Brighton & Hove10.00418
Brighton, MI10.00418
Bristol UK10.00418
Bristol, UK10.00418
Bristow10.00418
British Columbia (not a city, but I am rural)10.00418
British Columbia (Province)10.00418
Brittany10.00418
brooklyn10.00418
Brooklyn (WFH)10.00418
Brooklyn Park10.00418
Brooklyn Park, MN10.00418
Brookston10.00418
Brooksville10.00418
Brookville10.00418
Brownsville10.00418
Brussel10.00418
Bryan10.00418
Bryan/College Station10.00418
Bryn Mawr10.00418
Bucharest10.00418
Buckhannon10.00418
Budapest10.00418
Buenos Aires10.00418
Buffalo Grove10.00418
Buffalo, NY10.00418
burbank10.00418
Burgenland10.00418
Burgos10.00418
Burleson10.00418
Burlington, MA10.00418
Burly10.00418
Burnaby10.00418
Burnaby BC10.00418
Burnsville, MN10.00418
Butler10.00418
BWG10.00418
ca. 100k inhabitants10.00418
Calgary AB10.00418
Calgary Alberta10.00418
Calgary Alberta Canada10.00418
Calhoun, GA10.00418
California10.00418
Calumet City10.00418
Camarillo10.00418
Camarillo, CA10.00418
Cambridge ,MA10.00418
Cambridge (Boston metro area)10.00418
Cambridge / Remote10.00418
cambridge ma10.00418
Cambridge MA10.00418
Cambridge, Massachusetts10.00418
Cambridge, Ontario10.00418
Cambridge/Boston10.00418
Cameron10.00418
Camp Hill10.00418
Camp Verde10.00418
Campbell River10.00418
can't say10.00418
Can't say without being identifiable10.00418
Can't say without losing my anonymity10.00418
Can't share10.00418
canberra10.00418
Canbridge, UK10.00418
Cannock10.00418
canyon10.00418
Cape Canaveral10.00418
Capital Region10.00418
Cardington10.00418
Carlinville10.00418
Carmel, Indiana10.00418
Cartersville10.00418
Cartersville GA10.00418
Castlegar10.00418
Caterham10.00418
Catonsville10.00418
CDA10.00418
Cedar Grove, NJ10.00418
cedar rapids10.00418
Cedar rapids10.00418
Cedarville10.00418
Celina10.00418
Center10.00418
Centerville10.00418
CENTRAL CITY10.00418
Central Illinois10.00418
Central Iowa10.00418
Central Kentucky10.00418
Central KY10.00418
Central Maine10.00418
Central MD10.00418
central nj10.00418
Central NJ10.00418
Central NY10.00418
Central Ohio10.00418
Central Qld10.00418
Central Valley10.00418
Centralia10.00418
Centreville10.00418
Cerritos10.00418
CFL10.00418
Chambersburg10.00418
Chamonix-Mont-Blanc10.00418
Champaign Area10.00418
Champaign Urbana10.00418
Champaign-Urbana10.00418
Champaign, IL10.00418
Chantilly, VA10.00418
Chapel hill10.00418
Charles Town10.00418
Charleston area10.00418
Charlestown10.00418
Charlotte area10.00418
Charlotte metropolitan10.00418
charlottesville10.00418
Chaska10.00418
Chatham10.00418
Chatsworth10.00418
Chehalis10.00418
Chelsea10.00418
Chemnitz10.00418
Chennai10.00418
Cheraw10.00418
cherry hill10.00418
Cherry hill10.00418
Cherry Hill, NJ10.00418
CHESAPEAKE10.00418
Cheshire County10.00418
Chester County10.00418
Chester Springs, PA10.00418
Chesterbrook10.00418
Chesterfield, MI10.00418
Chestertown10.00418
Cheswick10.00418
Cheyenne, Wy10.00418
Chicacgo10.00418
Chicago -remote position though10.00418
Chicago (but distributed workplace)10.00418
Chicago (remote)10.00418
Chicago Area10.00418
Chicago area mostly, but also the US and Canada10.00418
Chicago but the company is remote10.00418
Chicago metro10.00418
Chicago Metro10.00418
Chicago, IL (but I work remotely)10.00418
Chicago/Deerfield (two offices)10.00418
Chicagoland Area10.00418
Chichester10.00418
Chickasha10.00418
Chillicothe10.00418
Chilliwack, BC10.00418
China Lake10.00418
Chippenham10.00418
Chirk10.00418
choose not to answer10.00418
Chula Vista10.00418
Church Hill10.00418
Cincinatti10.00418
cincinnati10.00418
Citrus Heights10.00418
city in Middle Georgia10.00418
City is too identifiable, state of NRW10.00418
Ciudad de Panamá10.00418
Clarendon Hills10.00418
Clarksville10.00418
Clawson10.00418
Clayton10.00418
Clearfield10.00418
Clermont10.00418
Cleveland Area10.00418
Clifton10.00418
Clifton Park10.00418
Clinton Township10.00418
Co Meath10.00418
Cobourg10.00418
Cocoa10.00418
Coconut creek10.00418
cody10.00418
Coeur d’Alene10.00418
Cold Spring, NY10.00418
Collinsville10.00418
Colombo10.00418
Columbia Falls10.00418
Columbia MD10.00418
columbus10.00418
Columbus, Boston10.00418
Columbus, Indiana10.00418
Colville10.00418
Commack10.00418
Company is based in Nashville, I work remotely from NYC10.00418
Company is based in SF10.00418
Company is in Glendale, California I am in Barrie, Ontario10.00418
Company is in NYC, I'm remote in Boston10.00418
Company is in San Antonio, I live 3 hours away in a rural community10.00418
Concord home based10.00418
Concord ma10.00418
Concord, CA10.00418
confidential10.00418
Connecticut10.00418
Conroe10.00418
Conway10.00418
Coon Rapids10.00418
Corinth10.00418
Corning10.00418
Cornwall, Ontario10.00418
corpus christi10.00418
Corrigen10.00418
Cortland10.00418
Cortland, NY10.00418
CORVALLIS10.00418
Cotati10.00418
Cottage Grove10.00418
Country wide10.00418
Coventry UK10.00418
Covina10.00418
Cranston, RI10.00418
Creighton10.00418
Crescent City10.00418
Creston10.00418
Crewe10.00418
Crewe, Cheshire10.00418
Crowley10.00418
Crown Point10.00418
Crownsville10.00418
Crystal City10.00418
Crystal Lake10.00418
Cuernavaca10.00418
Cuffley10.00418
Cullowhee10.00418
Cumbria10.00418
Cupertino, CA10.00418
currently remote10.00418
Cuyahoga Falls10.00418
Cypress10.00418
Dachau10.00418
Daegu10.00418
Dagsboro10.00418
Dahlgren10.00418
Dahlonega10.00418
Dallas / Fort Worth10.00418
Dallas-Ft Worth10.00418
Dallas, Texas10.00418
Dallas, TX10.00418
Dallas/Fort Worth10.00418
Dallas/Fort Worth region10.00418
Daly City10.00418
Danbury CT10.00418
Darmstadt10.00418
Dartmouth10.00418
Davenport10.00418
Davenport area10.00418
Daytona10.00418
DC area10.00418
DC Area10.00418
DC Metro Area10.00418
DC metro area, mostly DC and Montgomery County MD10.00418
DC suburb10.00418
DC Suburb10.00418
Dearborn Heights10.00418
Decherd10.00418
Decline to mention10.00418
Decline to provide10.00418
Decline to State10.00418
Declined10.00418
Declined - Rural area10.00418
Dedham10.00418
Deerfield10.00418
Defiance10.00418
Deforest10.00418
Deland10.00418
DeLand10.00418
Delaware County10.00418
Delmar10.00418
Delray beach10.00418
Den bosch10.00418
denver10.00418
Denver - remote10.00418
Denver - remote, company based in DC10.00418
Denver (but remote - company is NYC)10.00418
Denver Metro10.00418
Denver-metro10.00418
Denver, Chicago10.00418
Derby, CT10.00418
DeRidder10.00418
Derry10.00418
Des moines10.00418
Detroit Area10.00418
Detroit Metro area10.00418
Detroit Metro Area10.00418
devens10.00418
Devens10.00418
Dfw10.00418
DFW area10.00418
Dhaka10.00418
Dickinson10.00418
Didcot10.00418
Dillard (I’m a telecommuter for an office based in Orlando FL)10.00418
District of columbia10.00418
Dobbs ferry10.00418
Dodge City10.00418
Doha10.00418
Don’t want to answer10.00418
Doncaster10.00418
Dont want to say10.00418
Dorset10.00418
Dortmund10.00418
Douglas10.00418
Dresden10.00418
Dripping Springs10.00418
Drop down menur was not working. Indianapolis Indiana.10.00418
Dubai10.00418
Dubbo10.00418
Dubli10.00418
Dublin Ireland10.00418
Dublin, CA10.00418
Dublin, Ireland10.00418
Duesseldorf10.00418
Duncanville10.00418
Dundee10.00418
Dunfermline10.00418
Dunnville10.00418
Durham (remote employee in Vermont; salaries based on HQ in Durham)10.00418
Durham area10.00418
Durham, NC10.00418
Duxford10.00418
Eagan, MN10.00418
Eagle10.00418
East Bay10.00418
East Brunswick10.00418
East Chicago10.00418
East Coast10.00418
East Coast USA10.00418
East Greenbush10.00418
East Hampton10.00418
East hartford10.00418
EAST LANSING10.00418
East Liverpool10.00418
East Providence10.00418
East Rockaway (Long Island)10.00418
East Rutherford10.00418
East Stroudsburg10.00418
East Sussex10.00418
East Syracuse10.00418
Eastern10.00418
Eastern MA10.00418
Eastern MA (not Boston)10.00418
Eastern WA10.00418
Eastern WI City; approx. pop 50,00010.00418
Easthampton10.00418
Eatontown, NJ10.00418
Eau Claire, WI10.00418
eden prairie10.00418
Eden prairie10.00418
Eden Prairie, MN10.00418
Edgartown ma10.00418
Edgewood10.00418
EDINA10.00418
Edina - Minneapolis10.00418
Edinburg10.00418
Edinburgh (Scotland)10.00418
Edinburgh, UK10.00418
Edinburgh/London/Dublin/Manchester10.00418
Edison, NJ10.00418
Edmond10.00418
EDMONTON10.00418
Edson10.00418
Egg Harbor Township10.00418
Egg harbor twp10.00418
Egham10.00418
Eglin AFB10.00418
Eindhoven10.00418
El Dorado10.00418
El jadida10.00418
El Monte10.00418
El segundo10.00418
Elgin10.00418
Elgin, Illinois10.00418
Elkford10.00418
Elko10.00418
Elkton10.00418
Elkton, VA10.00418
Ellensburg, WA10.00418
Elmhurst10.00418
Elmwood Park10.00418
Emporia10.00418
Enfield10.00418
Enon10.00418
erie10.00418
Erlanger10.00418
Esbjerg10.00418
Escanaba10.00418
Espoo10.00418
Essen10.00418
Essex county10.00418
Essex County10.00418
Estero10.00418
Estevan, Saskatchewan10.00418
Ethel10.00418
Eton, Berkshire10.00418
Euclid10.00418
Eugene, OR10.00418
Everett, WA10.00418
Ewing10.00418
expat in Spanish speaking country10.00418
Fairbury10.00418
fairfax10.00418
Fairfax (but now permanently virtual)10.00418
Fairfax Station10.00418
Fairfax VA10.00418
Fairfax, va10.00418
Fairfield County10.00418
Falcon Heights10.00418
Faribault10.00418
Farmington hills10.00418
federal way10.00418
Fennimore10.00418
Festus10.00418
Few hours outside Columbus10.00418
Field employee10.00418
Field Employee10.00418
Findlay10.00418
Findlay, OH10.00418
Fish Creek10.00418
Fitchburg10.00418
Fitchburg and Worcester10.00418
Flint10.00418
Florida10.00418
Flowood10.00418
Foothill Ranch, CA10.00418
Fords10.00418
Forest10.00418
Forest Hill10.00418
Forest Park10.00418
Fort Belvoir10.00418
Fort bragg10.00418
Fort Campbell10.00418
fort collins10.00418
Fort Eustis10.00418
Fort Fairfield10.00418
Fort Hood10.00418
Fort Knox10.00418
Fort Lee10.00418
Fort Meade10.00418
Fort Pierce10.00418
Fort Plain10.00418
fort Polk10.00418
Fort Rucker10.00418
Fort Walton Beach10.00418
Fort Walton Beach, FL10.00418
Fortville10.00418
foster city10.00418
Fountain10.00418
Fountain Valley10.00418
Fox Valley10.00418
Foxborough10.00418
France10.00418
Frankfurt a.M.10.00418
Frankfurt am Main10.00418
Frankfurt area10.00418
Franklin Lakes10.00418
Franklin Springs10.00418
Franklin TN10.00418
Franklin, MA10.00418
Fraser10.00418
Fraser valley10.00418
Frederick, MD10.00418
Free10.00418
Freeland10.00418
Freetown10.00418
French Camp10.00418
from home10.00418
from home (company based in South of England near London)10.00418
From home for a chicago based company10.00418
Ft lauderdale10.00418
Ft Myers10.00418
Ft wayne10.00418
Ft. Lauderdale10.00418
Ft. Mitchell10.00418
Ft. Walton10.00418
Ft. Worth10.00418
Full time remote employee (prior to pandemic)10.00418
Full time remote employee, pre-pandemic10.00418
Full time remote from my home near a major PA city10.00418
Fully Remote - customers around the country10.00418
Fully Remote (Greater Boston)10.00418
Fully remote company based out of CA10.00418
Fuquay Varina10.00418
Fürth10.00418
G10.00418
Gadsden10.00418
Gaitherburg10.00418
Galax10.00418
Galicia10.00418
Gallatin10.00418
Galloway/Atlantic City10.00418
Garden city10.00418
Garden Grove10.00418
Gardiner10.00418
Garland10.00418
Garner10.00418
Garnet Valley10.00418
Gaston10.00418
Gastonia10.00418
Gateshead10.00418
Gatesville10.00418
Gatineau10.00418
GC10.00418
Geismar10.00418
Geismar, LA10.00418
Geneva10.00418
Georgian Bay area10.00418
Germantown10.00418
Geyserville10.00418
Ghent10.00418
Gig Harbor10.00418
Gilbertsville10.00418
Glassboro10.00418
Glen Burnie10.00418
Glen Ellyn10.00418
glendale10.00418
Glendale, but I'm full time remote.10.00418
Glendora10.00418
Glennville10.00418
Glenside10.00418
Glenview10.00418
Glenwood Springs10.00418
Gloucestershire10.00418
Gloucestershire (v. rural place of work)10.00418
Gloversville, NY10.00418
Goldsboro10.00418
Goodyear10.00418
Gorham/Portland10.00418
Goring by Sea10.00418
Goshen10.00418
Göttingen10.00418
Granbury10.00418
Grand Haven10.00418
Grand Prairie10.00418
GRAND RAPIDS10.00418
Grande Prairie Alberta Canada10.00418
Grande Prairie, AB10.00418
Grandville10.00418
Grants10.00418
Grants, NM10.00418
Grays Harbor County10.00418
Graz10.00418
Great Falls10.00418
Greater Atlanta Area10.00418
Greater boston10.00418
greater boston area10.00418
Greater Chicago10.00418
greater Chicagoland10.00418
Greater Chicagoland10.00418
Greater Madison Area10.00418
Greater Minneapolis metro area10.00418
Greater Nashville Area10.00418
Greater New Orleans Metro Region10.00418
Greater NYC area10.00418
Greater NYC Area10.00418
Greater NYC Metro10.00418
Greater Philadelphia10.00418
Greater Philadelphia Area10.00418
Greater Portland10.00418
Greater Sacramento10.00418
greater Seattle area10.00418
Greater Seattle area10.00418
Greater Vancouver10.00418
Greeley surrounding area10.00418
Green bay10.00418
Green Oaks10.00418
Green River10.00418
Greene10.00418
Greeneville10.00418
Greenfield, MA10.00418
Greensburg10.00418
Greenwood10.00418
Greenwood Village10.00418
Griffin10.00418
Grimes10.00418
Groningen10.00418
Grove City (100% remote)10.00418
Groveland10.00418
Guelph, Ontario10.00418
Guilford10.00418
Gurley10.00418
Gwinnett County10.00418
Gympie10.00418
Haddon field NJ10.00418
Haddonfield10.00418
Hadley10.00418
hagerstown10.00418
Haines city10.00418
Halesowen10.00418
Hamlet10.00418
Hampshire10.00418
hampton10.00418
Hannibal10.00418
Hannover10.00418
Hanoi10.00418
Hanover area10.00418
Harlingen, TX (Remote Work)10.00418
Harper Woods10.00418
Harrisburg area10.00418
Harrisburg Area10.00418
Harrisburg Region10.00418
Harrisburg, PA, USA10.00418
Harrison10.00418
Harrodsburg10.00418
Hartford area10.00418
Hartford County10.00418
Hartforz10.00418
Hartland10.00418
Hartsville10.00418
Hatboro10.00418
Hauppauge10.00418
Haverhill10.00418
HAVERHILL10.00418
Havre10.00418
Hawalli10.00418
hawera10.00418
Hawley10.00418
hazlet10.00418
Healdsburg10.00418
HELENA10.00418
helsinki10.00418
Hemel Hempstead10.00418
Henrico10.00418
Henrico County10.00418
Henrico, VA10.00418
Hercules10.00418
Heredia10.00418
Hereford10.00418
Hermosillo, Sonora10.00418
Herndon VA10.00418
Herndon, Virginia10.00418
Hersey10.00418
Hershey10.00418
Hertfordshire10.00418
Hiawatha10.00418
Hicksville10.00418
Highland10.00418
Highland Heights10.00418
Highlands Ranch10.00418
Hill City10.00418
Hilliard10.00418
Hillsdale10.00418
Hilton Head area10.00418
Hilversum10.00418
Hinckley10.00418
Hines10.00418
Hingham10.00418
Hobart10.00418
HOBART10.00418
Hobart, Tasmania10.00418
Hoffman Estates10.00418
Hoffman Estates (suburb of Chicago)10.00418
Holbrook10.00418
Holmdel10.00418
Holmdel, NJ10.00418
Home (near Montreal)10.00418
Home based10.00418
Home Based10.00418
Home office10.00418
Home plus travel to customers. Near Chicago10.00418
Home worker, North East England10.00418
Home/remote10.00418
Hong Kong10.00418
Honolilu10.00418
Hood River10.00418
Hopewell10.00418
Hopkins10.00418
Hopkinton10.00418
Houghton10.00418
Houston Area10.00418
Houston but I am fully remote permanently10.00418
Houston Texas10.00418
Houston-Galveston-Brazoria area10.00418
Houston, but the job is remote10.00418
Howe10.00418
Howell10.00418
Hoyt Lakes10.00418
HQ us in Cambridge, Ma but moving to the suburbs. I live right outside of Boston.10.00418
Huber Heights10.00418
Hudson Valley NY10.00418
Hudson, NY10.00418
Hughenden10.00418
Hunt valley10.00418
Huntersville10.00418
Huntington (remote, HQ is in Charleston)10.00418
Huntington beach10.00418
Huntington Station10.00418
Hutchinson10.00418
Hüttigweiler10.00418
Hyannis10.00418
Hyattsville10.00418
Hyde Park10.00418
I don’t live in a city; I am VERY rural10.00418
I left Boston for Indiana, so get a Boston salary in south bend10.00418
I live in Orlando, but I am full-time remote10.00418
I travel every week to different cities.10.00418
I WFH full time for a remote organization (pre-pandemic)10.00418
I work from home10.00418
I work from home (permanent)10.00418
I work majority for companies in the state of California.10.00418
I work remotely10.00418
I work remotely but in non-COVID times I work at client sites throughout the US10.00418
I work remotely with clients across the country10.00418
I work remotely, but based in San Diego10.00418
I work remotely. My company is based out of Pittsburgh, PA10.00418
I'm not comfortable answering that. Small town with something around 5k people.10.00418
I'm permanently remote in MA, company is global.10.00418
I'm sorry, I'd rather not say. But Alberta in Canada.10.00418
I’m remote but my company is based in Massachusetts10.00418
Idaho Falls10.00418
Illinois, Iowa, Missouri10.00418
Imperial10.00418
In various cities. I work on projects through my employer for various financial organisations in the field of compliance & risk. My new project will be based in Amsterdam.10.00418
Independence10.00418
independence (cincinnati area)10.00418
Indian Head10.00418
Indian Head Park, IL10.00418
Ingolstadt10.00418
Innsbruck10.00418
Invercargill10.00418
Inverness10.00418
Inwood10.00418
Iowa10.00418
Iowa City (Coralville)10.00418
Iowa City / Cedar Rapids10.00418
ipswich10.00418
Iqaluit10.00418
Ironwood10.00418
Isabella10.00418
Ishpeming10.00418
Islamabad10.00418
Islip10.00418
Ithaca ny10.00418
Ithaca NY10.00418
Ithaca, NY10.00418
Jackson Center10.00418
Jackson Hole10.00418
Jackson, MI10.00418
Jackson, MS10.00418
Jacksonville, FL10.00418
Janesville10.00418
Jasper10.00418
Jax10.00418
Jena10.00418
Jenkintown10.00418
Jersey city10.00418
JERSEY CITY10.00418
Jersey City, NJ10.00418
Jerusalem10.00418
Jessup10.00418
Job is based in DC, but I go to where disasters are10.00418
Johannesburg10.00418
Johnston, RI10.00418
Johnstown10.00418
Joint Base Andrews, MD10.00418
Joppatowne (Near Baltimore, MD)10.00418
Jurupa Valley10.00418
Kabul10.00418
Kajaani10.00418
Kamloops10.00418
Kampala10.00418
Kannapolis10.00418
Kansa City10.00418
Kansas City Region10.00418
Kansas City, MO10.00418
Kapaa10.00418
Karlsruhe10.00418
Kassel10.00418
Keiser10.00418
Kelown10.00418
Kenora10.00418
Kentwood10.00418
Ketchikan10.00418
Kettering10.00418
Key West10.00418
Keyport10.00418
Keyser10.00418
Kiel10.00418
Kigali10.00418
Kilkenny10.00418
Kingsburg10.00418
Kingston Ontario10.00418
Kingston, Ontario10.00418
Kipling10.00418
Kitchener Waterloo10.00418
Kitchener-Waterloo10.00418
Kitchener, ontario10.00418
Kitimat, BC10.00418
Kiyv10.00418
Klamath Falls10.00418
Knightdale10.00418
Köln10.00418
Kragujevac10.00418
Krakow10.00418
Krum10.00418
Kuala Lumpur10.00418
La Laguna10.00418
La Mirada10.00418
La Porte10.00418
Lacey10.00418
Lacey Township10.00418
Lacombe10.00418
Laconia10.00418
Lagos10.00418
Laguna Hills10.00418
Laguna niguel10.00418
LagunaHills10.00418
Lahaina10.00418
Laie10.00418
Lake Buena Vista10.00418
Lake Charles10.00418
Lake City10.00418
Lake Elsinor10.00418
Lake Forest Park10.00418
Lake Mills10.00418
Lake Oswego10.00418
Lake Tahoe10.00418
Lakeville10.00418
Lakewood (live in Denver)10.00418
Lakewood Ranch10.00418
Lakewood, CO10.00418
Lambertville10.00418
Lamham10.00418
Lancashire10.00418
Lancaster PA10.00418
Lancaster UK10.00418
Lancaster, Pa10.00418
Langley10.00418
Langley, BC10.00418
Lanham10.00418
Lanham, MD10.00418
Lansdowne10.00418
Laplace10.00418
Laredo10.00418
Large metro area10.00418
Large town/small city10.00418
Las begas10.00418
Las Palmas10.00418
las vegas10.00418
Las vegas10.00418
Las Vegas (Techinically remote)10.00418
Latham10.00418
Lathma10.00418
Lawrenceburg10.00418
Lawton10.00418
Le Center10.00418
Leadville10.00418
Leavenworth10.00418
Leeds,UK10.00418
Leesburg VA10.00418
LeHigh Valley10.00418
Lehighton10.00418
Leigh, Greater Manchester10.00418
Lemgo10.00418
Lenoir10.00418
Lenox10.00418
Leonia10.00418
lethbridge10.00418
Lethbridge10.00418
Lewisburg10.00418
lewisville10.00418
LEXINGTON10.00418
Lexington Park10.00418
Libby10.00418
Liberal10.00418
Liberty10.00418
Libertyville10.00418
Lillington10.00418
Limerick10.00418
Limestone10.00418
Lincoln, NE10.00418
Lincoln, RI10.00418
Lincolnshire10.00418
Linden10.00418
Lindon10.00418
Linthicum, MD10.00418
Little Chute10.00418
Little rock10.00418
Littlehampton10.00418
Littleton10.00418
Littleton, MA / Manchester, NH10.00418
Ljubljana10.00418
Lloydminster10.00418
Lockport10.00418
Lodi10.00418
Lombard10.00418
Lomdon10.00418
Lompoc10.00418
london10.00418
LONDON10.00418
London (but remote)10.00418
London (outskirts - Croydon)10.00418
London / remote10.00418
London / Remote10.00418
London suburb10.00418
London, ON10.00418
London, ON CAN10.00418
London, Ontario, Canada10.00418
London/home10.00418
Long Beach, Ca10.00418
Long Island, NY10.00418
longbeach10.00418
longford10.00418
Longmont (remote)10.00418
Lons Le Saunier10.00418
Lopen10.00418
Lorton10.00418
Los A610.00418
los alamos10.00418
Los alamos10.00418
Los Altos10.00418
Los Altos Hills10.00418
LOS ANGELES10.00418
Los Angeles (but my job is remote)10.00418
Los Angeles area10.00418
Los Angeles Metro10.00418
Los Angeles Metro Area10.00418
Los Angeles, but I work with people in Europe including the company owner10.00418
Los Angeles, or I travel for work10.00418
Los Angles10.00418
Los Gatos10.00418
Loudoun County10.00418
LOUISVILLE10.00418
Louisville (remote)10.00418
lowell10.00418
Lower Hutt, Wellington10.00418
Lusby10.00418
Lutherville10.00418
Luxemburg10.00418
Lyndhurst10.00418
Lyndon10.00418
Lynnfield (Boston metro area)10.00418
lynnwood10.00418
Lyons10.00418
Maassluis10.00418
Maastricht10.00418
Machesney Park10.00418
Macomb10.00418
Macon, GA10.00418
Madera10.00418
madison10.00418
Madison Heights10.00418
Madison WI10.00418
Madison, WI10.00418
Madison, Wisconsin10.00418
Madisonville10.00418
Madrid, Spain10.00418
Magna10.00418
Maidenhead10.00418
Maidstone10.00418
Maine10.00418
Mainz10.00418
Maitland10.00418
Major metropolitan area10.00418
Major state metro area10.00418
Málaga10.00418
Malaysia10.00418
Malvern, PA10.00418
Manasquan, NJ10.00418
Manchester, England10.00418
Manchesyer10.00418
Mandan10.00418
Manhasset10.00418
Manhasset (Long Island)10.00418
Manitowoc10.00418
Mansfield10.00418
Maple grove10.00418
Maple Shade10.00418
Maquoketa10.00418
Maricopa County10.00418
MARIETTA10.00418
Marina10.00418
Marissa10.00418
Marlborough MA10.00418
Marlton, NJ10.00418
Marseille10.00418
Marshall10.00418
Marshalltown10.00418
marshfield10.00418
Martinez10.00418
Martinez (Bay Area)10.00418
Mascoutah10.00418
Mason city10.00418
massachusetts10.00418
Massillon10.00418
Mattawan10.00418
Mauldin10.00418
Maumee10.00418
Mayagüez10.00418
McAllen10.00418
McClean10.00418
Mccomb10.00418
McKinney10.00418
MCKINNEY10.00418
McLean though I travel some10.00418
Mclean, VA outside of DC10.00418
MCOL New England10.00418
Mead10.00418
Meadville10.00418
Mebourne10.00418
Mechelen10.00418
Medford Oregon10.00418
Medical Lake10.00418
Medium size city10.00418
Melbourne Australia10.00418
Melbourne, Victoria10.00418
Mellbourne10.00418
Memphis (but work 100% remote)10.00418
Menasha10.00418
Mendota Heights10.00418
Menomonie10.00418
Mentor, Ohio10.00418
Meriden10.00418
Merrick - my home, but we do have an office in NYC. Main office is in Seattle, WA.10.00418
Merrit Island10.00418
Merseyside10.00418
Mesa, Arizona10.00418
Methuen10.00418
metro10.00418
Metro Boston10.00418
Metro Detroit area10.00418
Metro NYC10.00418
Metro west10.00418
Metro-Detroit10.00418
Metro-west10.00418
Metrowest area10.00418
Metrowest Boston10.00418
Metrowest Boston area10.00418
Mettawa10.00418
Miami area10.00418
Miami FTL metro area10.00418
Michigan10.00418
Mid-Michigan10.00418
Mid-size city10.00418
middleburg10.00418
Middleburg10.00418
Middleburg Heights10.00418
Middlesbrough10.00418
Midlands10.00418
Midlothian10.00418
Midsized city10.00418
Midwest10.00418
Midwest IL10.00418
Midwest region10.00418
Mill Valley10.00418
Milledgeville10.00418
Millville10.00418
Milton Keynes, UK10.00418
Milwaukee metro10.00418
Milwaukee metro area10.00418
Minneapilis10.00418
MINNEAPOLIS10.00418
Minneapolis metro10.00418
Minneapolis, MN10.00418
Minneapolis/St Paul metro area10.00418
Minneapollis10.00418
Minnepolis10.00418
Minnesota10.00418
Minnespolis10.00418
Minocqua10.00418
Minot10.00418
Miseneheimer10.00418
Mission Viejo10.00418
MISSOULA10.00418
missouri city10.00418
Mitchell10.00418
Mohegan Lake10.00418
Moncks Corner10.00418
Monmouth10.00418
Mono, Ontario10.00418
Monongahela10.00418
Monrovia10.00418
Montana10.00418
Montclair10.00418
Montclair (not actual city, but same region for anonymity)10.00418
Montevideo10.00418
Montgomery, AL10.00418
Montgomeryville10.00418
Monticello10.00418
Montpellier10.00418
montreal10.00418
Montrose10.00418
Moon Twp. PA10.00418
Mooresville10.00418
Moose Jaw10.00418
Moose Jaw, sk.10.00418
Morenci10.00418
Morris Plains10.00418
Morristown (REMOTE)10.00418
Moshiem10.00418
Mount Gambier10.00418
Mount laurel10.00418
Mount Pleasant10.00418
Mount Prospect10.00418
Mount Washington10.00418
Mountain view10.00418
Mountainside10.00418
Mountainview10.00418
Mountlake Terrace10.00418
mt arlington10.00418
Mt Pleasant10.00418
Mt Prospect10.00418
Mt. Washington10.00418
Multiple10.00418
Mumbai10.00418
Münster10.00418
Murrieta10.00418
Muscatine10.00418
Muskego10.00418
Muskegon10.00418
My city + industry would ID my employer10.00418
My house10.00418
My job is remote for everyone at my company, but I live in Brooklyn10.00418
Mystic10.00418
N.A.10.00418
N/A - County10.00418
N/A - remote work10.00418
n/a - work from home10.00418
N/A cloud-based10.00418
N/A-Remote10.00418
N\A10.00418
NA (remote)10.00418
NA (remote). Live near Boston, work is based in upstate NY10.00418
NA (work from home in small town, decline to specify)10.00418
Naas10.00418
Nampa10.00418
Nantes10.00418
Nanticoke10.00418
Naperville (Chicago area)10.00418
Naperville IL10.00418
NAPLES10.00418
Naples, Fl10.00418
Narnia10.00418
Narragansett10.00418
Nashville (at home, remote)10.00418
Nashville metro area10.00418
Nashville Metro Area10.00418
National-Remote10.00418
Naval Base10.00418
NE Ohio10.00418
Near Albany10.00418
near Ann Arbor10.00418
Near Boston10.00418
near Buffalo, NY10.00418
Near Chicago10.00418
Near Indianapolis10.00418
Near Manchester, UK10.00418
Near Sacramento (remote work)10.00418
Near Salt Lake City10.00418
near San Antonio10.00418
Near Seattle10.00418
Nelson10.00418
Neopit10.00418
Neptune Beach10.00418
New albany10.00418
New Berlin10.00418
New Bern10.00418
New Braunfels10.00418
New Brighton10.00418
New Bruswick10.00418
New City, NY10.00418
New Glarus10.00418
New Haven metropolitan area10.00418
New Haven/Remote10.00418
New Hyde park10.00418
New Kensington10.00418
New Lenox10.00418
new Orleans10.00418
New orleans10.00418
New Tecumseth10.00418
New Westminster10.00418
New Yor10.00418
New YOrk10.00418
New York Buty10.00418
new York City10.00418
New York CIty10.00418
New York City (The Bronx)10.00418
New York City Suburbs10.00418
New York City, currently remote10.00418
New york City/Manhattan10.00418
New York, New York10.00418
New YorknCity10.00418
Newark (remote now)10.00418
Newark, NJ10.00418
Newberg10.00418
newcastle10.00418
Newcastle, NSW, Australia10.00418
Newcastle, UK10.00418
Newport beach10.00418
Newport Beach, CA10.00418
Newport News, VA10.00418
Newton Falls10.00418
Newton Poppleford10.00418
Niagara Falls10.00418
Niagara Region10.00418
Nijmegen10.00418
no10.00418
no answer10.00418
No city10.00418
Noble10.00418
Noblesville10.00418
none10.00418
None, work from home10.00418
Noordwijk10.00418
Nope10.00418
Norco10.00418
Normal I’ll10.00418
Norman,OK10.00418
Norristowb10.00418
Norristown, PA10.00418
North10.00418
North Adams10.00418
north bay10.00418
North Bergen, NJ10.00418
North Brunswick10.00418
North Cape, PE10.00418
North Charleston10.00418
North Clarendon10.00418
North Coast10.00418
North Fort Myers10.00418
North Georgia10.00418
North Hempstead10.00418
North Jersey10.00418
North Kingstown10.00418
North Mankato10.00418
North Miami10.00418
North of Portland10.00418
North of Toronto10.00418
North Plainfield10.00418
North Platte10.00418
North Reading10.00418
North Sydney10.00418
North Wales10.00418
North West10.00418
Northampton Ma10.00418
Northborough10.00418
Northbrook/ Charlotte10.00418
Northcentral WI10.00418
Northeast Florida10.00418
Northeast Ohio suburb10.00418
Northern B.C.10.00418
Northern California10.00418
northern CO10.00418
Northern Front Range10.00418
Northern Michigan10.00418
northern new york10.00418
northern vermont10.00418
Northern Virginia10.00418
Northern Virginia (Washington, DC metro)10.00418
Northlake10.00418
Northumberland10.00418
Northville10.00418
Northwest10.00418
Northwest Chicago suburbs10.00418
Northwest Georgia10.00418
Northwest Lower MI10.00418
Norton Shores10.00418
Norwood MA10.00418
Not a city10.00418
Not answering10.00418
Not applicable10.00418
Not Applicable (Remote work)10.00418
Not Denver10.00418
Not Detroit10.00418
Not disclosed10.00418
Not Disclosing10.00418
Not identifying, but the Central Valley, CA10.00418
Not provided10.00418
Not saying10.00418
Nottingham, UK10.00418
Nottoway County10.00418
Novato, CA10.00418
nr. London10.00418
NRW10.00418
Nueremberg10.00418
NULL10.00418
NY Metro10.00418
NY metro area but not NYC10.00418
NY Suburb10.00418
Nyack10.00418
nyc10.00418
NYC - Queens10.00418
NYC (but I work remote)10.00418
NYC (remotely)10.00418
NYC metro area10.00418
NYC, currently WFH10.00418
NYC, NY10.00418
Oak Lawn10.00418
Oak Park10.00418
Oakbrook10.00418
Oakbrook Terrace10.00418
oakland10.00418
Oakland and Hayward10.00418
Oakland CA10.00418
Oakland, CA10.00418
Oaxaca de Juarez (home). Company I work for is based in Los Ángeles10.00418
Ocala10.00418
Ocean10.00418
Ocean County10.00418
Office was in Chicago, now WFH in WI10.00418
Office: Lansing, MI and wfh Ypsilani MI10.00418
Ogden - but I work remote. Company is based in MD10.00418
Okanogan10.00418
OKC10.00418
Okemos10.00418
Olean10.00418
Olympia, WA10.00418
Olympic Peninsula10.00418
Omaha Metro10.00418
Onaha10.00418
One of the largest in the state10.00418
Onley10.00418
Orang10.00418
Orange county10.00418
Orange park10.00418
Orange Park10.00418
Orange, MA10.00418
Orangevale10.00418
Oregon10.00418
Oregon City10.00418
Orillia10.00418
Orkney10.00418
Orlando metro area10.00418
Orlando, I work in United States at a Consulate for Mexican Government10.00418
Orléans10.00418
Ormond Beach10.00418
Orono10.00418
Osceola10.00418
Oshawa10.00418
Oswego10.00418
Ottawa area10.00418
Ottawa ON Canada10.00418
Ottawa-Gatineau10.00418
Ottawa, ON10.00418
Ottawa/Gatineau10.00418
Ottoville, OH10.00418
Outer Island10.00418
Outer London10.00418
Outside Boston10.00418
Outside London10.00418
outside of Boston10.00418
outside philadelphia10.00418
OUtside Philadelphia10.00418
Outside the Twin Cities10.00418
Owen Sound10.00418
Oxford, UK10.00418
Oxnard10.00418
Pacifica10.00418
Paducah10.00418
Palermo10.00418
Palm Beach10.00418
Palm Beach, Fl10.00418
Palm Coast10.00418
Palmyra10.00418
Palo Alto, CA10.00418
Panama City Beach10.00418
Panhandle of FL10.00418
Panhandle region10.00418
Paragould10.00418
Parid10.00418
Park City10.00418
Park City (remote/WFH)10.00418
Parker10.00418
Parkersburg10.00418
Parma10.00418
Parry Sound10.00418
Pascagoula, MS10.00418
Pasco10.00418
Passaic10.00418
Passaic County10.00418
Passau10.00418
Patchogue10.00418
Paulding10.00418
Pawtucket10.00418
Payroll is out of Cincinnati10.00418
Peabody10.00418
Peabody, MA10.00418
Peace River10.00418
Pearisburg10.00418
Pearl City10.00418
Pendleton10.00418
pensacola10.00418
Penticton10.00418
Peoria, IL10.00418
Permanent Remote to Toronto10.00418
Perth, Western Australia10.00418
Peterlee10.00418
Petoskey10.00418
Phialdelphia10.00418
Philadelphia (suburbs)10.00418
Philadelphia and Pittsburgh10.00418
Philadelphia area10.00418
Philadelphia Area10.00418
Philadelphia Suburbs10.00418
Philadelphia, PA10.00418
Philadelphia, PA Suburbs10.00418
Philadelphiai10.00418
Philadephia10.00418
Philadlephia10.00418
Philiadelpia10.00418
philly10.00418
Philly10.00418
Phnom Penh10.00418
Phoenix Area10.00418
Phoenix, AZ10.00418
Phoenix/Tempe10.00418
Phoenixville10.00418
Pinehurst10.00418
Pinole10.00418
Pipersville10.00418
Piscataway, NJ10.00418
Pittaburgh10.00418
PITTSBURGH10.00418
Pittsburgh area10.00418
Pittsfiel10.00418
Plainfield10.00418
Plainville10.00418
Plant City10.00418
Platte City10.00418
Plattsburgh, NY10.00418
Plattsville10.00418
Pleasant grove10.00418
Pleasant Grove10.00418
Pleasant Hill10.00418
Pleasant Prarie10.00418
Plymouth (UK)10.00418
Plymouth England10.00418
Pollock Pines10.00418
Pomfret10.00418
Pompano Beach10.00418
PONTYPOOL10.00418
Poole10.00418
Port Austin10.00418
Port Carling, Muskoka, Ontario10.00418
Port Chester10.00418
Port Coquitlam10.00418
Port washington10.00418
Port Washington10.00418
Portage la Prairie, Manitoba10.00418
Porter County10.00418
PORTLAND10.00418
Portland (I work remote for a company out of state)10.00418
Portland metro10.00418
Portland metro area10.00418
Portland Metro area10.00418
Portland OR10.00418
Portland, ME area10.00418
Portland, or10.00418
Portland, OR (remote for a company in CA)10.00418
Portlanf10.00418
Portree10.00418
Posen10.00418
Poth10.00418
Potland10.00418
Poulsbo10.00418
Powhatan10.00418
Prefer not to answer, moderate size canadian city10.00418
prefer not to identify10.00418
Prefer not to provide10.00418
Prefer not to say (Montana is small!)10.00418
prefer not to say, identifiable information when combined with my job title10.00418
Preston, Lancashire10.00418
Princeton area10.00418
Prineville10.00418
Prospect Park10.00418
providence10.00418
Puget Sound Region10.00418
Pulaski10.00418
Puyallup, WA10.00418
QAC10.00418
Quebec10.00418
Québec10.00418
Quebec city10.00418
Queen Creek10.00418
Queens Village10.00418
Queens/Nassau10.00418
Queensbury10.00418
Quito10.00418
Ra'anana10.00418
RACINE10.00418
Radnor10.00418
Raeford10.00418
raleigh10.00418
Raleigh (remote out of VA)10.00418
Raleigh Durham10.00418
Raleigh NC10.00418
Raleigh; role based out of Boston MA10.00418
Ramsbottom10.00418
Rancho Cucamonga10.00418
Rancho Santa Margarita10.00418
rapid city10.00418
Raritan10.00418
Rather not answer10.00418
rather not say10.00418
Rather not say10.00418
rather not say (too identifiable)10.00418
Raynham10.00418
Red bank10.00418
Red Deer10.00418
Red Hook10.00418
Redacted10.00418
redacted (sorry)10.00418
Redding CA10.00418
redmond10.00418
Redwood City, CA10.00418
Refuse to Answer10.00418
Regensburg10.00418
Regina (SK)10.00418
Regina, SK10.00418
regional10.00418
regional city10.00418
Reidsville10.00418
Remote -10.00418
Remote - HQ is in DC10.00418
Remote - Lansdale10.00418
Remote - previously NYC10.00418
Remote - Washington DC Area10.00418
Remote (Chicago)10.00418
Remote (live in Nottingham)10.00418
Remote (Olympia)10.00418
Remote (org based out of DC metro area)10.00418
Remote (Southern CA)10.00418
Remote (this shouldn't be required)10.00418
Remote Based10.00418
Remote but NYC10.00418
Remote job10.00418
Remote many cities10.00418
Remote near Worcester10.00418
Remote Office10.00418
Remote position10.00418
Remote US10.00418
Remote WFH currently10.00418
Remote work10.00418
Remote work from home10.00418
Remote work in CA, company is in WA10.00418
Remote work; Ontario-wide10.00418
Remote Worker10.00418
Remote Worker out of Wilmington10.00418
Remote worker, staffed out of Cincinnati10.00418
Remote--don't work in same state as my employer is located10.00418
Remote, based out of Baltimore, MD metro area10.00418
Remote, company is based in Raleigh NC10.00418
Remote, from a small city in Romania10.00418
Remote, North Carolina10.00418
Remote; based out of Hudson10.00418
Remote. Company is in Boston, I am in SF10.00418
Remote/ home10.00418
Remote/London10.00418
Remote/NYC HQ10.00418
Remotely - Stamford HQ10.00418
Remotely in NC for DC employer10.00418
remove10.00418
reno10.00418
Reno/Sparks10.00418
renton10.00418
Research Triangle region10.00418
Reston, VA10.00418
Rexburg10.00418
Reynoldsburg10.00418
Richfield10.00418
Richland, WA10.00418
RICHMOND10.00418
RICHMOND VA10.00418
Richmond VIC10.00418
Ridgecrest10.00418
Ridgefield Park10.00418
Ringwood10.00418
Rio de Janeiro10.00418
Rio Rancho10.00418
River Grove10.00418
Riverside and San Bernardino10.00418
Riverside, CA10.00418
ROCHESTER10.00418
Rochester (remote-company based in SF, CA)10.00418
Rock Island10.00418
Rock Springs10.00418
Rocklin (Sacramento area)10.00418
Rockport10.00418
Rocky Hill10.00418
Rohnert Park, CA10.00418
Romeoville10.00418
Rootstown10.00418
Roseland10.00418
Roselle10.00418
Round Rock10.00418
Roxboro10.00418
Royersford10.00418
ROYERSFORD10.00418
RTP10.00418
RTP (Raleigh-Durham)10.00418
Rugby10.00418
Rupert10.00418
Rural - northern10.00418
Rural Alberta10.00418
rural area10.00418
Rural Area10.00418
Rural California10.00418
rural college community10.00418
rural college town10.00418
rural Florida10.00418
Rural Florida Panhandle10.00418
Rural Iowa10.00418
Rural Ireland10.00418
Rural Missouri10.00418
Rural New England10.00418
Rural NW IL10.00418
Rural Richmond Area10.00418
Rural school division10.00418
rural small town10.00418
Rural small town western NY10.00418
Rural Southwest England10.00418
Rural town (prefer not to disclose)10.00418
Rural Upper Peninsula10.00418
Rural west-central MN10.00418
Rural/Suburban10.00418
Ruther Glen10.00418
Rutland10.00418
Rye Brook10.00418
Saarbrücken10.00418
Sabetha10.00418
sacramento10.00418
Sacramento CA10.00418
Saddle Brook10.00418
Saint Charles10.00418
Saint Helena10.00418
Saint Paul Park10.00418
Saint Paul, MN10.00418
Salamanca10.00418
Salem (remote for Boston Mass)10.00418
Salem, MA10.00418
Salisbury10.00418
Salmon10.00418
Salmon Arm10.00418
Salt lake10.00418
Sam Francisco10.00418
Sam Mateo10.00418
San Angelo, Texas10.00418
San antoni10.00418
San Bruno10.00418
San Carlos10.00418
San Clemente10.00418
San Deigo10.00418
San Dieg10.00418
san diego10.00418
San Diego, CA10.00418
San Francisco (nominally; I work from home now due to COVID)10.00418
San Francisco, but company is Boston based10.00418
San Francisco, CA10.00418
San Fransico10.00418
San Fransisco10.00418
san jose10.00418
San jose10.00418
San Jose, CA and Tulsa, OK10.00418
San juan10.00418
San luis obispo10.00418
San Marino10.00418
San Mateo, CA10.00418
san rafael10.00418
Sandy Springs10.00418
Santa Ana, CA10.00418
Santa barbara10.00418
Santa Barbara, CA10.00418
Santa Clarita10.00418
Santee10.00418
Santiago10.00418
Saranac Lake (it's a small town!)10.00418
Sarnia10.00418
saskatoon10.00418
Sauk Centre10.00418
Sauk City10.00418
Sault Ste Marie10.00418
Sault Ste. Marie10.00418
Sausalito10.00418
Saxonburg10.00418
SC10.00418
Schaumburg (Chicago Metro Area)10.00418
Schenectady, NY10.00418
Schiphol Rijk10.00418
Scituate10.00418
Scotch Plains10.00418
Scotland10.00418
Scotland, Ont10.00418
Scott Depot10.00418
Scotts Valley10.00418
Scottsbluff10.00418
Scranton/Wilkes-Barre10.00418
Scunthorpe10.00418
SeaTac10.00418
Seatle, WA10.00418
Seatlle10.00418
Seattle (but fully remote)10.00418
Seattle (company is in Redmond)10.00418
Seattle metro10.00418
Seattle Metro10.00418
Seattle, wa10.00418
Seattle, Wa10.00418
Seattle, Washington10.00418
Sebastopol10.00418
Sebring10.00418
Secaucus10.00418
Secaucus NJ10.00418
See above10.00418
Seekonk10.00418
semirural city10.00418
Seneca10.00418
Sequim10.00418
Seven Hills, but really Remote10.00418
Sewaren10.00418
Sewickley10.00418
Seymour10.00418
sf10.00418
Sf10.00418
SF Bay10.00418
Shaker Heights10.00418
Shaker Hts10.00418
Shakopee10.00418
Shanghai10.00418
Sharon10.00418
Shawnee Mission10.00418
Sheboygan, WI10.00418
Shelby10.00418
Shelter Island Heights10.00418
Sherborne10.00418
Sherbrooke10.00418
Sherman10.00418
Sherman Texas10.00418
Shingle Springs10.00418
SHIRLEY10.00418
Shoreham-by-Sea10.00418
Shoreline10.00418
Shorewood10.00418
Shrewsbury, VT10.00418
Shropshire10.00418
Sidney10.00418
Siloam Springs10.00418
silver spring10.00418
Silver spring10.00418
Silver Spring, Maryland10.00418
Silver Spring, MD10.00418
Silver Spriung10.00418
Silverton10.00418
Simsbury10.00418
singapore10.00418
Singleton10.00418
Sint-Niklaas10.00418
Sioux City10.00418
Skillman10.00418
Skip10.00418
Skipton10.00418
Skokie10.00418
Skowhegan10.00418
Slave lake10.00418
SLC10.00418
Sliedrecht10.00418
Slough10.00418
Small Canadian City10.00418
Small city10.00418
Small City10.00418
Small city in SW UK10.00418
Small city--actual city would give away the company10.00418
Small coastal town10.00418
small college town10.00418
Small country, prefer not to say!10.00418
Small Rural Town. Would no longer be anonymous if stated.10.00418
Small state - no answer10.00418
Small town called Reigate, in Surrey just outside London10.00418
Small town Ohio10.00418
Small Town Ohio10.00418
Small town, Cornwall10.00418
Smithers10.00418
Smiths Station10.00418
Smyrna10.00418
Snohomish10.00418
Snoqualmie10.00418
SoCal, prefer not to specify10.00418
Somerset County10.00418
Somerville /Cambridge10.00418
Sonoma10.00418
Sonoma County10.00418
Souderton10.00418
South10.00418
South bend10.00418
south central AK10.00418
South Charleston10.00418
South Elgin10.00418
south jordan10.00418
South Molton10.00418
South Orange10.00418
South portland10.00418
South Texas10.00418
South Yarmouth10.00418
Southeast WI10.00418
SOUTHEND-ON-SEA10.00418
Southern CA10.00418
Southern Denmark10.00418
southern IL10.00418
Southern Maine10.00418
Southern Maryland10.00418
Southern MN10.00418
Southington10.00418
Southwest MI10.00418
Sparks10.00418
Spoka10.00418
Spring10.00418
Springdale10.00418
Springfield, IL10.00418
Springfield, ma10.00418
Springfield, MA10.00418
St Andrews, Scotland10.00418
St Anne's10.00418
St Clair Shores10.00418
St joe10.00418
St John's10.00418
St John's, NL10.00418
St John’s10.00418
st louis10.00418
St Louis, MO10.00418
St Nazaire10.00418
St pete beach10.00418
St Petersburg10.00418
St Thomas10.00418
St. Catharines10.00418
St. Charles10.00418
St. Clair County10.00418
St. Croix Falls10.00418
St. Davids10.00418
St. George10.00418
St. John's, NL10.00418
St. John’s10.00418
St. Johns10.00418
St. Joseph10.00418
St. louis10.00418
St. Louis adjacent10.00418
St. Louis Park10.00418
St. Paul/Minniapolis area10.00418
St. Simons Island10.00418
Stamford, CT10.00418
Stanford, CA10.00418
Stanwood10.00418
State COllege10.00418
Staten Island10.00418
Statesboro10.00418
Steamboat Springs10.00418
Steinbach10.00418
Steinbach, Manitoba10.00418
Sterling Heights10.00418
Stevenage10.00418
Stillwater: WI based company, office in MN10.00418
STL10.00418
Stockholm. But also from Italy (online work). Or anywhere actually.10.00418
Stockton, NJ10.00418
Stoke10.00418
Stoke on Trent10.00418
Stone Mountain10.00418
Stone, Staffordshire10.00418
Stoughton, MA10.00418
Strasbourg10.00418
Stratford upon avon10.00418
Stratford upon Avon10.00418
Stratham10.00418
Streamwood10.00418
Sturbridge10.00418
Sturtevant10.00418
Suburb city in Metro NY area10.00418
Suburb of Indianapolis10.00418
Suburb of Philadelphia10.00418
Suburban Chicago, Illinois10.00418
Suburban Deteoit10.00418
Suburban NYC Metro Area10.00418
Suburban Philadelphia10.00418
Suburban School District10.00418
Suffolk County10.00418
Sugar land10.00418
Summerville10.00418
Sumnyvale10.00418
Sumter10.00418
Sun Prairie10.00418
Sun Valley10.00418
Sunshine Coast10.00418
Superior10.00418
Surrey BC10.00418
Surrey, BC10.00418
Surrey, British Columbia10.00418
Surrey, British Columbia, Canada10.00418
Sutherlin10.00418
Sutton (Surrey)10.00418
SW MO - near Joplin10.00418
Swampscott10.00418
Sweet Springs10.00418
Swift Current10.00418
Swiftwater10.00418
Sydney, NSW, Australia10.00418
syracuse10.00418
TACOMA10.00418
Tacoma (we are now permanently WFH, but our office was based in Tacoma)10.00418
Tahoe City10.00418
Takoma Park, MD10.00418
Tallahassee, FL10.00418
Tallahssee10.00418
Tallmadge10.00418
Tampa Bay10.00418
Tampa Bay area10.00418
Tampa Bay region10.00418
Tarrytown, NY10.00418
Taunton10.00418
Taylorsville10.00418
Te Whanganui-a-Tara Wellington10.00418
Tehachapi10.00418
Tel aviv10.00418
Telecommute10.00418
Telecommute from Anaheim, CA; employer office in Rancho Cucamonga, CA10.00418
Telecommute from small town10.00418
Telework10.00418
Telford10.00418
Tell city10.00418
Temecula10.00418
Tempe, AZ10.00418
Tennant Creek10.00418
Tennessee10.00418
Teramo10.00418
Terrell10.00418
Tewksbury10.00418
Texas10.00418
Texas City10.00418
Thame10.00418
Thayne10.00418
The Dalles, Oregon10.00418
The hague10.00418
The Hague area10.00418
the office is in Schaumburg; I work remotely10.00418
The Pas Manitoba10.00418
This answer would reveal my identity.10.00418
This identifies my employer10.00418
This info will make me identifiable10.00418
This is too identifying10.00418
This would definitely reveal my identity10.00418
This would help identify me10.00418
This would narrow things down too much, sorry!10.00418
This would probably out me10.00418
Thorofare10.00418
Thousand oaks10.00418
Three Rivers10.00418
Tifton10.00418
Tilton10.00418
Timaru10.00418
Tinley Park10.00418
Tinton Falls10.00418
Tishomingo10.00418
Tiverton (Remote) but company based in Washington10.00418
To Much Detail10.00418
toledo10.00418
Too identifiable10.00418
Too Small10.00418
too small to answer with anonymity!10.00418
Too small to list10.00418
Tooeka10.00418
Torino10.00418
Tornto10.00418
Toronto ON10.00418
Toronto Ontario Canada10.00418
Toronto, for a global remote company10.00418
Toronto, ON, CA10.00418
Toronto, ontario10.00418
Toronto, Ontario, Canada10.00418
Torontoo10.00418
Torquay, England10.00418
Torrance, CA10.00418
Torre pacheco10.00418
Toulouse10.00418
Traveling10.00418
Traveling over all of Europe10.00418
Trinidad10.00418
Trondheim10.00418
Truth or Consequences10.00418
tualatin10.00418
Tucker10.00418
tucson10.00418
Tucson, AZ10.00418
Tucson, but I'm remote to a CO company10.00418
Tukwila10.00418
Tullahoma10.00418
Tuolumne10.00418
Turin10.00418
Turin/Torino10.00418
Turku10.00418
Tustin but represent Orange County10.00418
Twin cities10.00418
Twin Cities (state wide org)10.00418
Twin Cities Area10.00418
Twin cities metro area10.00418
Twin Cities metro area10.00418
Twin Cities Metro Area10.00418
Tyson's Corner10.00418
Tysons corner10.00418
Tysons Corner10.00418
Uckfield10.00418
Uedem10.00418
Uintah10.00418
uk10.00418
Uk10.00418
Ukiah10.00418
Ullin10.00418
Unicoi10.00418
Union10.00418
Union, NJ10.00418
Uniondale10.00418
United Kingdom10.00418
Universal city10.00418
University City10.00418
University Park10.00418
Upper Penninsula10.00418
Upper valley10.00418
Upper Valley10.00418
Uppsala10.00418
upstate10.00418
Upstate10.00418
Upstate New York10.00418
Upstate region10.00418
Upstate, NY10.00418
US govt employee overseas, country withheld10.00418
USA10.00418
Utah10.00418
Utah County (I cover multiple cities)10.00418
Uusimaa10.00418
Uxbridge10.00418
Vai10.00418
Vail10.00418
Valletta10.00418
Vancouver area10.00418
Vancouver, BC10.00418
Vancouver, B.C.10.00418
Vancouver, Canada10.00418
Vancouver, WA10.00418
Varies10.00418
Variety10.00418
Vega10.00418
Venice10.00418
Vernal10.00418
Vernon - Remote position though10.00418
Vernon hills10.00418
VERONA10.00418
Verysmall town10.00418
victoria10.00418
Victoria BC10.00418
Victoria, B.C., Canada10.00418
Victoria, BC, Canada10.00418
Vienna, VA10.00418
Villa Park10.00418
village near Riga10.00418
Vinalhaven10.00418
Vincennes10.00418
Vineland10.00418
Vineland, NJ10.00418
Virgina Beach10.00418
Viroqua10.00418
Virtual role10.00418
Virtual Worker10.00418
WA10.00418
Waddell10.00418
Waikato10.00418
Wailuku10.00418
Waitsfield10.00418
Wake Forest10.00418
walla walla10.00418
Wallingford10.00418
Walnut Creek (SF Bay Area)10.00418
Walnut Creek, California10.00418
Walpole10.00418
Waltham (suburb of Boston)10.00418
Waltham, MA10.00418
Warren, NJ10.00418
Warrenton10.00418
Warwick, RI10.00418
WASHINGTON10.00418
washington DC10.00418
Washington DC (and Philadelphia PA)10.00418
Washington DC metro area10.00418
Washington state10.00418
Washington, DC10.00418
Washington, d.c.10.00418
Washington, dc10.00418
Washington, DC - Baltimore, MD area.10.00418
Washington, DC (I'm remote, but office is in DC)10.00418
Washington, DC area10.00418
Washington, DC Primarily10.00418
Washington, DC.10.00418
Washington, District of Columbia10.00418
WashingtonDC10.00418
Wasington10.00418
Waskesiu Lake10.00418
Waterbury10.00418
WATERBURY10.00418
Waterbury, VT10.00418
Waterford, MI10.00418
Waterloo, ON, Canada10.00418
Watertown (Greater Boston area)10.00418
Watertown, MA10.00418
Watsonville10.00418
Wauconda10.00418
Waukegan10.00418
Wausau10.00418
Wauseon10.00418
Waverly10.00418
Wayland10.00418
Wayne, PA10.00418
waynesboro10.00418
Weaverville10.00418
Weed, CA10.00418
Weert10.00418
Welland10.00418
Wellesley10.00418
Wellsboro10.00418
Welwyn Garden City10.00418
Wentzville10.00418
Wentzville but I am remote10.00418
West Babylon10.00418
West Bridgewater10.00418
West Cola10.00418
West Conshohocken10.00418
West England10.00418
West Greenwich10.00418
West Grove10.00418
West Hollywood10.00418
West Mifflin10.00418
West Orange10.00418
West Palm Beaxh10.00418
West Springfield10.00418
West St Paul10.00418
West St. Paul10.00418
West Sussex10.00418
west TN10.00418
West TN10.00418
West Warwick10.00418
Westampton10.00418
Westchester/NYC10.00418
Westerly10.00418
Western Canada10.00418
Western KS10.00418
Western MA10.00418
Western Mass10.00418
Western MD10.00418
Western Slope10.00418
Westerville10.00418
Westford10.00418
Westlake Village, CA10.00418
Westport10.00418
WFH (Was Topeka, KS. Now Whiting, KS)10.00418
WFH FT10.00418
WFH in Northern NJ but company HQ is in Illinois, local office NYC10.00418
WFH in San Francisco Bay Area10.00418
WFH Kenilworth10.00418
WFH remotely, employer in another state10.00418
WFH. Job located in Newport, South Wales10.00418
Wheatfield10.00418
Whistler10.00418
Whistler, BC10.00418
White Earth10.00418
White Marsh10.00418
White Oak10.00418
White River Junction, VT10.00418
Whitefish Bay10.00418
Whitehorse, YT10.00418
Wichita (remotely)10.00418
Wichita Falls10.00418
Wilbraham10.00418
Wilkes-Barre10.00418
Willamette Valley Area10.00418
Williamsburg, VA10.00418
Williamsport10.00418
Williamston10.00418
Williamstown10.00418
Willimantic10.00418
Williston10.00418
Willowbrook10.00418
wilmington10.00418
wilmington, nc10.00418
Wilmington/ WFH10.00418
Wilmslow10.00418
Wilton, Connecticut10.00418
Wiltshire10.00418
Winchester, UK10.00418
Windham10.00418
Windsor Ontario10.00418
Winkler10.00418
Winter Park10.00418
Winton10.00418
Wisconsin10.00418
Witchita10.00418
Wixom10.00418
Woburn (Greater Boston area; I provide services in a number of towns.)10.00418
Woking10.00418
Wokingham10.00418
Wollongong10.00418
Wolverhampton10.00418
Wood Dale10.00418
woodbridge10.00418
Woodbridge10.00418
Woodhaven10.00418
Woodland10.00418
Woodland Hills10.00418
Woods Hole10.00418
Woonsocket10.00418
Wooster10.00418
Worcester area10.00418
Work across the whole state10.00418
Work from Home10.00418
Work From Home10.00418
Work from home, London10.00418
Work remotely for a NYC business from Portland, ME10.00418
Work remotely, but the company is based out of Chicago, IL and I work in Newark, NJ10.00418
Worthington10.00418
would be identifying sorry10.00418
would give too much away10.00418
Would rather not answer ( would be very easy to figure out who i am)10.00418
would rather not say10.00418
would remove my anonymity to state this10.00418
Wrexham10.00418
Wright10.00418
Würzburg10.00418
Wyandanch10.00418
Wyandotte10.00418
Yakima10.00418
Yakima but my employer is based in Seattle10.00418
Yankton10.00418
Yellowknife, NT10.00418
Yeovil10.00418
Yonkers10.00418
York Region10.00418
Yorkshire10.00418
Youngstown10.00418
Zachary10.00418
Zagreb10.00418
Zion10.00418
Zurich10.00418
# education 
ask_a_manager_2021 %>% 
  count(education) %>% 
  mutate(percent = 100* n/sum(n))%>% 
  arrange(desc(percent))
educationnpercent
College degree1166548.7 
Master's degree781132.6 
Some college17077.13
PhD12285.13
Professional degree (MD, JD, etc.)10114.22
High School5072.12
# gender
ask_a_manager_2021 %>% 
  count(gender) %>% 
  mutate(percent = 100* n/sum(n))%>% 
  arrange(desc(percent))
gendernpercent
Woman1962682
Man430318
# race
ask_a_manager_2021 %>% 
  count(race) %>% 
  mutate(percent = 100* n/sum(n))%>% 
  arrange(desc(percent))
racenpercent
White2026284.7    
Asian or Asian American10874.54   
Black or African American5782.42   
Hispanic, Latino, or Spanish origin4782      
Another option not listed here or prefer not to answer4031.68   
Hispanic, Latino, or Spanish origin, White3251.36   
Asian or Asian American, White2931.22   
Black or African American, White1080.451  
Middle Eastern or Northern African, White610.255  
Native American or Alaska Native, White600.251  
White, Another option not listed here or prefer not to answer510.213  
Middle Eastern or Northern African500.209  
Native American or Alaska Native340.142  
Black or African American, Hispanic, Latino, or Spanish origin240.1    
Asian or Asian American, Hispanic, Latino, or Spanish origin100.0418 
Asian or Asian American, Hispanic, Latino, or Spanish origin, White90.0376 
Hispanic, Latino, or Spanish origin, Native American or Alaska Native90.0376 
Asian or Asian American, Another option not listed here or prefer not to answer80.0334 
Black or African American, Hispanic, Latino, or Spanish origin, White80.0334 
Hispanic, Latino, or Spanish origin, Native American or Alaska Native, White80.0334 
Asian or Asian American, Black or African American70.0293 
Asian or Asian American, White, Another option not listed here or prefer not to answer60.0251 
Hispanic, Latino, or Spanish origin, Another option not listed here or prefer not to answer60.0251 
Asian or Asian American, Black or African American, White50.0209 
Asian or Asian American, Middle Eastern or Northern African50.0209 
Black or African American, Native American or Alaska Native, White50.0209 
Asian or Asian American, Native American or Alaska Native, White40.0167 
Black or African American, Middle Eastern or Northern African, White40.0167 
Hispanic, Latino, or Spanish origin, Middle Eastern or Northern African, White30.0125 
Black or African American, Another option not listed here or prefer not to answer20.00836
Black or African American, Hispanic, Latino, or Spanish origin, Native American or Alaska Native, White20.00836
Black or African American, Middle Eastern or Northern African20.00836
Middle Eastern or Northern African, White, Another option not listed here or prefer not to answer20.00836
Asian or Asian American, Hispanic, Latino, or Spanish origin, Another option not listed here or prefer not to answer10.00418
Asian or Asian American, Hispanic, Latino, or Spanish origin, Native American or Alaska Native, White10.00418
Asian or Asian American, Middle Eastern or Northern African, White10.00418
Black or African American, Middle Eastern or Northern African, Native American or Alaska Native, White10.00418
Hispanic, Latino, or Spanish origin, Middle Eastern or Northern African10.00418
Hispanic, Latino, or Spanish origin, Native American or Alaska Native, Another option not listed here or prefer not to answer10.00418
Middle Eastern or Northern African, Native American or Alaska Native10.00418
Middle Eastern or Northern African, Native American or Alaska Native, White10.00418
Native American or Alaska Native, Another option not listed here or prefer not to answer10.00418
Native American or Alaska Native, White, Another option not listed here or prefer not to answer10.00418
# pro_exp 
ask_a_manager_2021 %>% 
  count(pro_exp ) %>% 
  mutate(percent = 100* n/sum(n))%>% 
  arrange(desc(percent))
pro_expnpercent
11 - 20 years833234.8  
8 - 10 years462719.3  
5-7 years412817.3  
21 - 30 years312313.1  
2 - 4 years247310.3  
31 - 40 years7453.11 
1 year or less3921.64 
41 years or more1090.456
# field_exp  
ask_a_manager_2021 %>% 
  count(field_exp) %>% 
  mutate(percent = 100* n/sum(n))%>% 
  arrange(desc(percent))
field_expnpercent
5-7 years565723.6  
11 - 20 years564223.6  
2 - 4 years523521.9  
8 - 10 years431518    
21 - 30 years15616.52 
1 year or less11664.87 
31 - 40 years3191.33 
41 years or more340.142
#make comments about the counts 

Salary (Yuan)

How is salary distributed?

favstats(ask_a_manager_2021$salary) # find a really rich guy here
======= mutate(percent = 100* n/sum(n)) # education ask_a_manager_2021 %>% count(education) %>% mutate(percent = 100* n/sum(n))%>% arrange(desc(percent)) # gender ask_a_manager_2021 %>% count(gender) %>% mutate(percent = 100* n/sum(n))%>% arrange(desc(percent)) # race ask_a_manager_2021 %>% count(race) %>% mutate(percent = 100* n/sum(n))%>% arrange(desc(percent)) # pro_exp ask_a_manager_2021 %>% count(pro_exp ) %>% mutate(percent = 100* n/sum(n))%>% arrange(desc(percent)) # field_exp ask_a_manager_2021 %>% count(field_exp ) %>% mutate(percent = 100* n/sum(n))%>% arrange(desc(percent)) #make comments about the counts

Salary

How is salary distributed?

favstats(ask_a_manager_2021$salary) # find a really rich guy here
minQ1medianQ3maxmeansdnmissing
15.4e+047.5e+041.04e+051.92e+058.18e+043.75e+04239290
>>>>>>> XuejingHuang-master
minQ1medianQ3maxmeansdnmissing
05.5e+047.6e+041.09e+055e+068.93e+047.07e+04248990
# density
g1 <- ggplot(ask_a_manager_2021, aes(x=salary))+
  geom_density()+
  NULL
#cdf
g2 <- ask_a_manager_2021 %>% 
  slice_min(order_by = salary,n =nrow(ask_a_manager_2021)-5) %>% # choose a number
  ggplot(aes(x=salary))+
  stat_ecdf()+
  NULL

# taking log is better
g3 <- ggplot(ask_a_manager_2021, aes(x=log(salary)))+
  geom_density()+
  NULL

g4 <- ask_a_manager_2021 %>% 
  slice_min(order_by = salary,n =nrow(ask_a_manager_2021)-5) %>% # choose a number
  ggplot(aes(x=log(salary)))+
  stat_ecdf()+
  NULL

gridExtra::grid.arrange(g1,g2,g3,g4)
<<<<<<< HEAD

Observation: This is a right skewed distribution.

Industry (Yuan)

=======

Observation: This is a right skewed distribution.

Industry

>>>>>>> XuejingHuang-master
ask_a_manager_2021 %>% 
  count(industry, sort=TRUE) %>% 
  ggplot(aes(y=fct_reorder(industry,n), x=n))+
  geom_col()
<<<<<<< HEAD

=======

>>>>>>> XuejingHuang-master

Observations:

  • Computing & tech is the top-chosen industry among respondents, followed by Education and Non-profit
  • This indicate that the sample might include more respondents from industries have higher exposure to tech and internet.
<<<<<<< HEAD

Salary ,Gender and Industry (Yuan)

=======

Salary ,Gender and Industry

>>>>>>> XuejingHuang-master

We are interested in the type of industries with top salary for man and woman.

# Industries of top average salary for Man and Woman
salary_table <- ask_a_manager_2021 %>% 
  group_by(industry, gender) %>% 
  summarise(count = n(),
            avg_salary = mean(converted_salary),
            higher_edu_prop = sum(higher_edu)/n()) %>% 
  pivot_wider(id_cols = 1:5,
              names_from = gender,
              values_from = count:higher_edu_prop)
  
g_man <- salary_table %>% 
  ggplot(aes(y=fct_reorder(industry,avg_salary_Man), x=avg_salary_Man,fill=higher_edu_prop_Man))+
  geom_bar(position="dodge", stat="identity")+
  geom_text(aes(label=paste(avg_salary_Man%/%1000,"k")),
            position=position_dodge(width=0.9), hjust=0,vjust=0)+
  scale_x_continuous(labels = scales::comma) +
  scale_fill_gradient(low="sky blue", high="blue")+
  labs(
    title="Man",
    x="Annual Salary $",
    y="Industry",
    fill="Higher Education %"
  )+
  theme_wsj()+
  theme(legend.position="bottom",
        legend.title=element_text(size=13))+
  NULL

<<<<<<< HEAD
ggsave("highest_paid_industries_male.png",width = 12,height = 8,limitsize = F)
=======
# ggsave("highest_paid_industries_male.png",width = 12,height = 8,limitsize = F)

>>>>>>> XuejingHuang-master
g_woman <- salary_table %>% 
  ggplot(aes(y=fct_reorder(industry,avg_salary_Woman), x=avg_salary_Woman,fill=higher_edu_prop_Woman))+
  geom_bar( position="dodge", stat="identity")+
  geom_text(aes(label=paste(avg_salary_Woman%/%1000,"k")),
              position=position_dodge(width=0.9), hjust=0,vjust=0)+
  scale_x_continuous(labels = scales::comma) +
  scale_fill_gradient(low="pink", high="red")+
  labs(
    title="Woman",
    x="Annual Salary $",
    y="Industry",
    fill="Higher Education %"
  )+
  theme_wsj()+
  theme(legend.position="bottom",
        legend.title=element_text(size=13))+
  NULL

<<<<<<< HEAD

ggsave("highest_paid_industries_female.png",width = 12,height = 8,limitsize = F)
======= # ggsave("highest_paid_industries_female.png",width = 12,height = 8,limitsize = F) >>>>>>> XuejingHuang-master

Observations:

  • For both man and woman, the top earning industries are alike (Law, Computing or Tech, Business or Consulting)
  • Respondents from Law, Govenment and Education tends to have higher education level compared to the rest, reflecting the academic/professional requirements of these positions
  • The difference between the salary within sales and accounting, banking & finance is likely due to the subdivisions chosen based on gender nature

We are also interested in the salary difference between man and woman within the same industry.

# salary gap in different industries
ask_a_manager_2021 %>% 
  group_by(industry, gender) %>% 
  summarise(count = n(),
            avg_salary = mean(converted_salary)) %>% 
  pivot_wider(id_cols = 1:4,
              names_from = gender,
              values_from = count:avg_salary) %>% 
  mutate(size = count_Man+count_Woman,
         male_prop = count_Man/(count_Man+count_Woman),
         salary_gap = avg_salary_Man - avg_salary_Woman) %>% 
  ggplot(aes(y=fct_reorder(industry,salary_gap), x=salary_gap,fill=male_prop))+
  geom_col()+
  
  # geom_point(aes(y=fct_reorder(industry,size),x=size*10))+
  
  scale_x_continuous(
    breaks = seq(-20000,40000,5000)
  ) +
  scale_fill_gradient(low="pink", high="blue")+
  labs(
    title="Salary Gap and Sex Ratio",
    x="Salary Gap in $",
    y="",
    fill="Male %"
  )+
  theme_wsj()+
  theme(legend.position="bottom",
        legend.title=element_text(size=13))+
  NULL
<<<<<<< HEAD

ggsave("salary_gap.png",width = 12,height = 8,limitsize = F)
=======

# ggsave("salary_gap.png",width = 12,height = 8,limitsize = F)
>>>>>>> XuejingHuang-master

Observations:

  • Man has a higher average salary than woman in most of the industries, with Law being the most significant
  • Woman has higher average salary in Art & Design
  • The proportion of male within computing or tech is significantly higher than that within other industries; yet the proportion only reaches c. 40%, reflecting the fact that most respondents are female because Ask_a_manager is more popular among women
  • The proportion of male is also higher in labour-intensive industries such as transport or logistics, engineering, utilities & telecommunications
<<<<<<< HEAD

Education (Jean)

=======

Education

>>>>>>> XuejingHuang-master

Next, we want to see if there is a difference in the salary gap between man and woman for different education level.

ask_a_manager_2021 %>% 
  group_by(education, gender) %>% 
  summarise(count = n(),
            avg_salary = mean(converted_salary)) %>% 
  pivot_wider(id_cols = 1:4,
              names_from = gender,
              values_from = count:avg_salary) %>% 
  mutate(size = count_Man+count_Woman,
         male_prop = count_Man/(count_Man+count_Woman),
         salary_gap = avg_salary_Man - avg_salary_Woman) %>% 
  ggplot(aes(x=education, y=salary_gap,fill=male_prop))+
  geom_col()+
  scale_y_continuous(
    breaks = seq(-20000,40000,5000)
  ) +
  scale_fill_gradient(low="pink", high="sky blue")+
  theme_wsj()+
  theme(legend.position="bottom", axis.title=element_text(size=24))+
  ggtitle("Salary Gap at Different Education level") +
  xlab("Education Level") + ylab ("Salary Gap in $") + 
  NULL
<<<<<<< HEAD

ggsave("salary_gap_by_edu.png",width = 14,height = 8,limitsize = F)

Race (Clara)

=======

# ggsave("salary_gap_by_edu.png",width = 14,height = 8,limitsize = F)

Race

>>>>>>> XuejingHuang-master

Count

ask_a_manager_2021 %>% 
  group_by(race) %>% 
  filter(n() > 500) %>% 
  summarise(count=n()) %>% 
  ggplot(aes(y=count, x=race, fill=race))+
  geom_col() +
  theme_wsj()+
  theme(legend.position = "none") +
  labs(x="Race", y="Count", title="Count by Race", subtitle = "Races with > 500 Respondents")+
  scale_x_discrete(labels = function(x) str_wrap(x, width = 10)) + 
  NULL
<<<<<<< HEAD

=======

>>>>>>> XuejingHuang-master

Race and Mean Salary

ask_a_manager_2021 %>% 
  filter(industry %in% industry_list$industry) %>% 
  group_by(race) %>% 
  filter(n() > 500) %>% 
 ggplot( aes(x=race, y=converted_salary, color=race)) +
    geom_jitter(color="black", size=0.01, alpha=0.9) +
   geom_boxplot(alpha=0.4) +
   scale_fill_viridis(discrete = TRUE, alpha=0.6) +
    geom_hline(yintercept=144988, color="red") +
    theme(
      legend.position="none",
      plot.title = element_text(size=11)
    ) +
    theme_wsj() +
    theme(legend.position = "none")+
    theme(axis.title=element_text(size=10))+
    ggtitle("Salary Vs. Race Boxplot") +
    ylab("Salary") + xlab ("Race") +
    scale_x_discrete(labels = function(x) str_wrap(x, width = 10))+
    scale_y_continuous(labels = scales::comma, limits = c(0, 300000)) +
    NULL
<<<<<<< HEAD

Observation: In our boxplot one can visualize both the distribution of the data and the medium and interquartile ranges of the data. When comparing annual salary by race, our data shows that Asians have the higher salaries in comparison to Black and African American and White sample respondents. Interestingly enough, our sample also shows that the medium salary for Black and AA respondents is higher than that of White respondents.

Since most repondents were white, the larger sample size is less prone to skewness due to outliers when comparing it to the other two races portrayed in the plot.

=======

Observation:

  • In our boxplot one can visualize both the distribution of the data and the medium and interquartile ranges of the data. When comparing annual salary by race, our data shows that Asians have the higher salaries in comparison to Black and African American and White sample respondents. Interestingly enough, our sample also shows that the medium salary for Black and AA respondents is higher than that of White respondents.

  • Since most repondents were white, the larger sample size is less prone to skewness due to outliers when comparing it to the other two races portrayed in the plot.

>>>>>>> XuejingHuang-master
ask_a_manager_2021_race <- ask_a_manager_2021 %>%
  group_by(race) %>% 
  filter(race %in% c("Black or African American", "White")) 

t.test(salary ~ race, data = ask_a_manager_2021_race)
## 
##  Welch Two Sample t-test
## 
## data:  salary by race
<<<<<<< HEAD
## t = 0.6, df = 610, p-value = 0.5
## alternative hypothesis: true difference in means between group Black or African American and group White is not equal to 0
## 95 percent confidence interval:
##  -2140  4021
## sample estimates:
## mean in group Black or African American                     mean in group White 
##                                   81976                                   81035

When running a T-test on the two racial groups, White and Black or African American, the P-value we get is 0.9. Thus there is no statistically signifcant difference in their annual salary when calculating it based of off this data set. ### Race and Mean Salary

Location (Alex)

#create df of the list of states with >10 occurrences 
=======
## t = 1, df = 605, p-value = 0.3
## alternative hypothesis: true difference in means between group Black or African American and group White is not equal to 0
## 95 percent confidence interval:
##  -6923 26250
## sample estimates:
## mean in group Black or African American                     mean in group White 
##                                   97570                                   87906

When running a T-test on the two racial groups, White and Black or African American, the P-value we get is 0.9. Thus there is no statistically signifcant difference in their annual salary when calculating it based of off this data set.

Race and Mean Salary

Location

#This package is useful for creating a map of the USA
library(usmap)
library(ggrepel)

#create df of the list of states with >10 occurrences 
>>>>>>> XuejingHuang-master
#This allows us to get data for actual states as many data entry errors
#many individuals put multiple states and this helps to fix that
states <- ask_a_manager_2021 %>% 
  group_by(state) %>%
  filter(!is.na(state)) %>%
  filter(n()>10) %>% 
  summarise(mean_salary = mean(salary),
            count_state = count(state))

states$fips <- fips(states$state)
statesalarymap <- states %>% select(state,mean_salary)

plot_usmap(data=statesalarymap, values="mean_salary", color="black") + scale_fill_continuous(
    low = "white",
    high = "light green",
    name = "Mean Salary") +
  theme(legend.position = "right") +
  labs(title="Map of US States based on Average Salary")
<<<<<<< HEAD

=======

>>>>>>> XuejingHuang-master

MAP

# Count by Industry

ask_a_manager_2021 %>% 
  group_by(industry) %>% 
  summarise(count=n()) %>% 
  ggplot(aes(y=fct_reorder(industry,count),x=count))+
  geom_col()
<<<<<<< HEAD

# null hypothesis: no difference between
=======

# null hypothesis: no difference between

Age

ask_a_manager_2021 %>% 
  group_by(age_group, gender) %>% 
  summarise(count=n()) 
## # A tibble: 13 x 3
## # Groups:   age_group [7]
##    age_group  gender count
##    <fct>      <chr>  <int>
##  1 under 18   Woman      6
##  2 18-24      Man      168
##  3 18-24      Woman    759
##  4 25-34      Man     1853
##  5 25-34      Woman   9155
##  6 35-44      Man     1907
##  7 35-44      Woman   7110
##  8 45-54      Man      616
##  9 45-54      Woman   2327
## 10 55-64      Man      156
## 11 55-64      Woman    754
## 12 65 or over Man       17
## 13 65 or over Woman     71
  #ggplot(aes(y=fct_reorder(how_old_are_you,count),x=count))+
  #geom_col()
>>>>>>> XuejingHuang-master
# Count by Age Group
ask_a_manager_2021 %>% 
  group_by(age_group) %>% 
  summarise(count=n()) %>% 
  ggplot(aes(y=fct_reorder(age_group,count),x=count))+
  geom_col()
<<<<<<< HEAD

=======

>>>>>>> XuejingHuang-master
# Sorting out the people who are 18+ 
ask_a_manager_age <- ask_a_manager_2021 %>%  
                    mutate(factor(age_group,levels=c("18-24","25-34","35-44","45-54","55-64","65 or over")))
#need to change colors for male and female ?!
#there are only 6 women in under 18 category so excluding them for the graph
# since there is no male data in that category to compare
ask_a_manager_age %>% 
  filter(age_group %in% c("18-24", "25-34" , "35-44" , "45-54" , "55-64"  )) %>% 
  group_by(age_group, gender) %>% 
  summarise (median_salary_by_age = median (salary),
             mean_salary_by_age = mean(salary)) %>% 
  ggplot () +
  geom_col(aes (age_group, median_salary_by_age, fill = gender), position = position_dodge(width = 0.9), alpha = 0.7)+
  geom_point(aes(x = age_group, y=mean_salary_by_age, color = gender))+
  theme_bw()+
  #formatC(x, format = "d")+
  labs(  title =  "Median Salary by Age Group" , y="Salary" ,x = "Age Group") +
  NULL
<<<<<<< HEAD

=======

Changed Industry vs salary

ask_a_manager_2021_changed <- ask_a_manager_2021  %>%
mutate(if_changed= if_else(overall_years_of_professional_experience == years_of_experience_in_field, "No", "Yes"))
ask_a_manager_2021_changed %>% 
ggplot(aes(x=fct_relevel(overall_years_of_professional_experience,levels=c("1 year or less","2 - 4 years","5-7 years","8 - 10 years","11 - 20 years","21 - 30 years","31 - 40 years","41 years or more")), y=annual_salary, color=if_changed))+
  # scatter plot
  geom_point(alpha = 0.5)+
  # linear smooth line
  geom_smooth(method = "lm")+
  # legend settings
  theme(legend.position = "bottom",
        legend.title = element_blank())+
  labs(title="Whether changing job affects your salary",
       x="Total Years Spent Working",
       y="Salary")+
  theme_bw()+
  NULL

ask_a_manager_2021_changed %>% 
  group_by(overall_years_of_professional_experience, if_changed) %>% 
  summarise (median_salary_over_time = median (salary),
             mean_salary_over_time = mean(salary)) %>% 
  ggplot () +
  geom_col(aes (fct_relevel(overall_years_of_professional_experience,levels=c("1 year or less","2 - 4 years","5-7 years","8 - 10 years","11 - 20 years","21 - 30 years","31 - 40 years","41 years or more")), median_salary_over_time, fill=if_changed), position = position_dodge(width = 0.9), alpha = 0.7)+
  geom_point(aes(x = overall_years_of_professional_experience, y=mean_salary_over_time, color = if_changed))+
  theme_bw()+
  #formatC(x, format = "d")+
  labs(  title =  "Median Salary over time" , y="Salary" ,x = "Prof") +
  NULL

ggsave("switch_industry.png",width = 12,height = 8,limitsize = F)
>>>>>>> XuejingHuang-master

Statistical Tests

<<<<<<< HEAD

Gender vs Salary (Clara)

General Statistics & Boxplot

mosaic::favstats (converted_salary ~ gender, data=ask_a_manager_2021)
=======

Gender vs Salary

General Statistics & Boxplot

mosaic::favstats (converted_salary ~ gender, data=ask_a_manager_2021)
genderminQ1medianQ3maxmeansdnmissing
Man16.3e+04 9e+04       1.28e+052.62e+059.67e+044.3e+04 43030
Woman355.25e+047.11e+049.7e+04 2.55e+057.82e+043.48e+04196260
>>>>>>> XuejingHuang-master
genderminQ1medianQ3maxmeansdnmissing
Man06.5e+049.6e+041.41e+052.11e+061.12e+058.33e+0447170
Woman05.3e+047.2e+041e+05       5e+06       8.38e+046.63e+04201820
ask_a_manager_2021 %>% 
  ggplot( aes(x=gender, y=converted_salary, color=gender)) +
    geom_jitter(color="black", size=0.4, alpha=0.9) +
    geom_boxplot(alpha=0.3) +
    scale_fill_viridis(discrete = TRUE, alpha=0.6) +
    theme_wsj() +
    theme(
      legend.position="none",
      plot.title = element_text(size=11)
    ) +
   theme(
      legend.position="none",
      plot.title = element_text(size=11)
    ) +
    theme(axis.title=element_text(size=12))+
    ggtitle("Salary Vs. Gender Boxplot with Jitter") +
    ylab("Salary") + xlab ("Race") + 
    scale_x_discrete(labels = function(x) str_wrap(x, width = 10))+
    scale_y_continuous(labels = scales::comma, limits = c(0, 1000000)) +
    NULL
<<<<<<< HEAD

=======

>>>>>>> XuejingHuang-master

For our following analysis, we will be comparing data from the male gender “Man” with data from the female gender “Woman.” We will filter out the data on those that are non binary.

T-Test

ask_a_manager_2021 <- ask_a_manager_2021 %>%
  filter(gender!="Non-binary")
t.test(converted_salary ~ gender, data = ask_a_manager_2021)
## 
##  Welch Two Sample t-test
## 
## data:  converted_salary by gender
<<<<<<< HEAD
## t = 26, df = 5602, p-value <2e-16
## alternative hypothesis: true difference in means between group Man and group Woman is not equal to 0
## 95 percent confidence interval:
##  17124 19871
## sample estimates:
##   mean in group Man mean in group Woman 
##               96721               78223
======= ## t = 21, df = 6183, p-value <2e-16 ## alternative hypothesis: true difference in means between group Man and group Woman is not equal to 0 ## 95 percent confidence interval: ## 25223 30318 ## sample estimates: ## mean in group Man mean in group Woman ## 111551 83781 >>>>>>> XuejingHuang-master

Confidence Intervals

#mosaic::favstats (annual_salary ~ gender, data=ask_a_manager_2021)
ask_a_manager_2021_gender <- ask_a_manager_2021 %>%
  mutate(gender2 = case_when(
  gender  == "Man" ~ "1",
 gender == "Woman" ~ "0",
  TRUE ~ "NA"
)) %>%
  mutate(gender2 = as.numeric(gender2))


mosaic::favstats (converted_salary ~ gender, data=ask_a_manager_2021_gender) %>%
mutate(t_critical = qt(0.975,n-1),
         sd_mean = sd/sqrt(n),
         margin_of_error = t_critical*sd_mean,
         ci_lower = mean-margin_of_error,
         ci_higher = mean+margin_of_error)
<<<<<<< HEAD
genderminQ1medianQ3maxmeansdnmissingt_criticalsd_meanmargin_of_errorci_lowerci_higher
Man16.3e+04 9e+04       1.28e+052.62e+059.67e+044.3e+04 430301.966551.28e+039.54e+049.8e+04 
Woman355.25e+047.11e+049.7e+04 2.55e+057.82e+043.48e+041962601.96248487       7.77e+047.87e+04
# Add graph of two distributions and confidence intervals 

Observation: Since two 95% confidence intervals do not overlap, we are at least 95% confident that the male have higher salary than the female on average.

======= Man06.5e+049.6e+041.41e+052.11e+061.12e+058.33e+04471701.961.21e+032.38e+031.09e+051.14e+05 Woman05.3e+047.2e+041e+05       5e+06       8.38e+046.63e+042018201.96466       914       8.29e+048.47e+04
# Add graph of two distributions and confidence intervals 

Observation:

  • Since two 95% confidence intervals do not overlap, we are at least 95% confident that the male have higher salary than the female on average.
>>>>>>> XuejingHuang-master

Bootstrap Test

# hypothesis testing using infer package
diff <- ask_a_manager_2021_gender %>%
  specify(converted_salary ~ gender) %>%
  calculate(stat = "diff in means", order = c("Woman", "Man"))

set.seed(1234)
salary_in_null_world <- ask_a_manager_2021_gender %>%
  filter(gender !="Non-binary") %>%
  specify(converted_salary ~ gender) %>%
   # assuming independence of gender and salary
  hypothesize(null = "independence") %>%
   # generate 1000 reps, of type "permute"
  generate(reps = 1000, type = "permute") %>%
  # calculate statistic of difference, namely "diff in means"
   calculate(stat = "diff in means", order = c("Woman", "Man")) 

salary_in_null_world %>% 
  visualise()+
  shade_p_value(obs_stat = diff, direction = "two-sided")
<<<<<<< HEAD

p_value <- salary_in_null_world %>% 
  get_pvalue(obs_stat = diff, direction="both")
p_value

=======

p_value <- salary_in_null_world %>% 
  get_pvalue(obs_stat = diff, direction="both")
p_value
>>>>>>> XuejingHuang-master
p_value
0
<<<<<<< HEAD Observation: Our null hypothesis is that the difference of annual salaries between male and female is 0 and we get a p_value very close to 0. Therefore we reject the null hypothesis with 95% confidence. There is difference between the average male and female salary.

Gender vs Education (Jean)

=======

Observation:

  • Our null hypothesis is that the difference of annual salaries between male and female is 0 and we get a p_value very close to 0. Therefore we reject the null hypothesis with 95% confidence. There is difference between the average male and female salary.

Gender vs Education

>>>>>>> XuejingHuang-master

We want to look at the relationship between one’s gender and education degree. In essence, we want to explore if there is a difference in the proportion of respondents with high school degree as their highest degree for male group and the female group. We can use the proportion test to generate the result from the male and female sample.

ask_a_manager_2021_education <- ask_a_manager_2021 %>% 
   filter(gender !="Non-binary") %>%
   mutate(below_college = if_else(highest_level_of_education_completed %in% c("High School", "Some college"), "Yes", "No")) %>% 
   group_by(gender) %>% 
   summarise(college_below=sum(below_college == "Yes"), college_or_above = sum(below_college == "No"))

ask_a_manager_2021_education
<<<<<<< HEAD ======= >>>>>>> XuejingHuang-master
gendercollege_belowcollege_or_above
Man6353668
Woman157918047
Man6874030
Woman159818584
prop.test(x = c(4030,18584), n = c(4030+687,18584+1598), alternative = "two.sided")
## 
##  2-sample test for equality of proportions with continuity correction
## 
## data:  c out of c4030 out of 4030 + 68718584 out of 18584 + 1598
## X-squared = 202, df = 1, p-value <2e-16
## alternative hypothesis: two.sided
## 95 percent confidence interval:
##  -0.0773 -0.0556
## sample estimates:
## prop 1 prop 2 
##  0.854  0.921
<<<<<<< HEAD

From the result of proportion test for male group and female group, we are 99% confident that the proportion of high school as highest education level for male is higher than that for female, indicating that overall female has a higher college-entry rate vs. the male.

=======

Observations:

  • From the result of proportion test for male group and female group, we are 99% confident that the proportion of high school as highest education level for male is higher than that for female, indicating that overall female has a higher college-entry rate vs. the male.
>>>>>>> XuejingHuang-master

If we repeat the process to explore the difference in proportion in acquiring a masters or above degree for both gender:

ask_a_manager_2021_education <- ask_a_manager_2021 %>% 
  filter(gender !="Non-binary") %>%
  mutate(higher_edu = if_else(highest_level_of_education_completed %in% c("Master's degree", "Professional degree (MD, JD, etc.)", "PhD"), "Yes", "No")) %>% 
  group_by(gender) %>% 
  summarise(master_below = sum(higher_edu == "No"), master_or_above=sum(higher_edu == "Yes") )


ask_a_manager_2021_education
<<<<<<< HEAD ======= >>>>>>> XuejingHuang-master
gendermaster_belowmaster_or_above
Man28111492
Woman110688558
Man30631654
Woman112608922
prop.test(x = c(1654, 8922), n = c(1654+3063, 8922+11260), alternative = "two.sided")
## 
##  2-sample test for equality of proportions with continuity correction
## 
## data:  c out of c1654 out of 1654 + 30638922 out of 8922 + 11260
## X-squared = 130, df = 1, p-value <2e-16
## alternative hypothesis: two.sided
## 95 percent confidence interval:
##  -0.1068 -0.0761
## sample estimates:
## prop 1 prop 2 
##  0.351  0.442
<<<<<<< HEAD

From the result of two proportion tests, we can see that even though the proportion of acquiring a college-or-above degree is less in the male group, the proportion of acquiring higher education degree (Master’s-or-above) is higher than the female group. This somehow explains the fact that there are more outliers in male sample with extremely high income level.

Race vs Salary (Raina)

=======

Observations:

  • From the result of two proportion tests, we can see that even though the proportion of acquiring a college-or-above degree is less in the male group, the proportion of acquiring higher education degree (Master’s-or-above) is higher than the female group
  • This somehow explains the fact that there are more outliers in male sample with extremely high income level

Race vs Salary

>>>>>>> XuejingHuang-master

Here we want to see if race is affecting the salary.

ask_a_manager_salary <- ask_a_manager_2021 %>% 
  mutate(if_white = if_else(race == "White", "Yes", "No")) %>% 
  select(if_white,salary)
<<<<<<< HEAD
=======

>>>>>>> XuejingHuang-master
t.test(salary~if_white, data = ask_a_manager_salary, success = "Yes")
## 
##  Welch Two Sample t-test
## 
## data:  salary by if_white
<<<<<<< HEAD
## t = 7, df = 4948, p-value = 4e-12
## alternative hypothesis: true difference in means between group No and group Yes is not equal to 0
## 95 percent confidence interval:
##  3474 6195
## sample estimates:
##  mean in group No mean in group Yes 
##             85869             81035

wisely choose the race. like white vs. not white

Race vs Education (Jean)

======= ## t = 5, df = 4313, p-value = 6e-07 ## alternative hypothesis: true difference in means between group No and group Yes is not equal to 0 ## 95 percent confidence interval: ## 5472 12543 ## sample estimates: ## mean in group No mean in group Yes ## 96913 87906

Race vs Education

>>>>>>> XuejingHuang-master

We want to look at the relationship between one’s race and education degree. Particularly, we want to see if there is a difference in education level for those being white and those being non-white.

As the above analysis for gender vs. education, we run two proportion tests for college-or-above degree percentage and master-or-above percentage between the male and female group.

ask_a_manager_2021_race <- ask_a_manager_2021 %>% 
  mutate(if_white = if_else(race == "White", "White", "Non-white"),
         below_college = if_else(highest_level_of_education_completed %in% c( "High School", "Some college"), "Yes", "No")) %>% 
  group_by(if_white) %>% 
  summarise(college_below=sum(below_college == "Yes"), college_or_above = sum(below_college == "No"))

ask_a_manager_2021_race
<<<<<<< HEAD ======= >>>>>>> XuejingHuang-master
if_whitecollege_belowcollege_or_above
Non-white3343333
White188018382
Non-white3503510
White193519104
prop.test(x = c(3510,19104), n = c(3510+350, 19104+1935), alternative = "two.sided")
## 
##  2-sample test for equality of proportions with continuity correction
## 
## data:  c out of c3510 out of 3510 + 35019104 out of 19104 + 1935
## X-squared = 0.05, df = 1, p-value = 0.8
## alternative hypothesis: two.sided
## 95 percent confidence interval:
##  -0.00872  0.01132
## sample estimates:
## prop 1 prop 2 
##  0.909  0.908

Similarly, if we run the test for the propotion of master_or_above education level between white and non-white races:

ask_a_manager_2021_race <- ask_a_manager_2021 %>% 
  mutate(if_white = if_else(race == "White", "White", "Non-white"),
         higher_edu = if_else(highest_level_of_education_completed %in% c("Master's degree", "Professional degree (MD, JD, etc.)", "PhD"), "Yes", "No")) %>% 
  group_by(if_white) %>% 
  summarise(master_below = sum(higher_edu == "No"), master_or_above=sum(higher_edu == "Yes") )

ask_a_manager_2021_race
<<<<<<< HEAD ======= >>>>>>> XuejingHuang-master
if_whitemaster_belowmaster_or_above
Non-white22561411
White116238639
Non-white23471513
White119769063
prop.test(x = c(1513, 9063), n = c(1513+2347, 9063+11976), alternative = "two.sided")
## 
##  2-sample test for equality of proportions with continuity correction
## 
## data:  c out of c1513 out of 1513 + 23479063 out of 9063 + 11976
## X-squared = 20, df = 1, p-value = 8e-06
## alternative hypothesis: two.sided
## 95 percent confidence interval:
##  -0.0557 -0.0219
## sample estimates:
## prop 1 prop 2 
##  0.392  0.431
<<<<<<< HEAD

From the result of the proportion test, we cannot see a clear difference between the proportion of education level in white and non-white group, as the p-value is higher than 5%.

However, the proportion of acquiring higher education degree (Master’s-or-above) is higher in the white group vs. other races

Changed Industry? vs salary (Raghav)

ask_a_manager_2021_changed <- ask_a_manager_2021  %>%
mutate(if_changed= if_else(overall_years_of_professional_experience == years_of_experience_in_field, "No", "Yes"))
ask_a_manager_2021_changed %>% 
ggplot(aes(x=fct_relevel(overall_years_of_professional_experience,levels=c("1 year or less","2 - 4 years","5-7 years","8 - 10 years","11 - 20 years","21 - 30 years","31 - 40 years","41 years or more")), y=annual_salary, color=if_changed))+
  # scatter plot
  geom_point(alpha = 0.5)+
  # linear smooth line
  geom_smooth(method = "lm")+
  # legend settings
  theme(legend.position = "bottom",
        legend.title = element_blank())+
  labs(title="Whether changing job affects your salary",
       x="Total Years Spent Working",
       y="Salary")+
  theme_bw()+
  NULL

ask_a_manager_2021_changed %>% 
  group_by(overall_years_of_professional_experience, if_changed) %>% 
  summarise (median_salary_over_time = median (salary),
             mean_salary_over_time = mean(salary)) %>% 
  ggplot () +
  geom_col(aes (fct_relevel(overall_years_of_professional_experience,levels=c("1 year or less","2 - 4 years","5-7 years","8 - 10 years","11 - 20 years","21 - 30 years","31 - 40 years","41 years or more")), median_salary_over_time, fill=if_changed), position = position_dodge(width = 0.9), alpha = 0.7)+
  geom_point(aes(x = overall_years_of_professional_experience, y=mean_salary_over_time, color = if_changed))+
  theme_bw()+
  #formatC(x, format = "d")+
  labs(  title =  "Median Salary over time" , y="Salary" ,x = "Prof") +
  NULL

ggsave("switch_industry.png",width = 12,height = 8,limitsize = F)
=======

Observations:

  • From the result of the proportion test, we cannot see a clear difference between the proportion of education level in white and non-white group, as the p-value is higher than 5%.

  • However, the proportion of acquiring higher education degree (Master’s-or-above) is higher in the white group vs. other races

Changed Industry vs salary

>>>>>>> XuejingHuang-master
t.test(salary~if_changed, data = ask_a_manager_2021_changed)
## 
##  Welch Two Sample t-test
## 
## data:  salary by if_changed
<<<<<<< HEAD
## t = 19, df = 23826, p-value <2e-16
## alternative hypothesis: true difference in means between group No and group Yes is not equal to 0
## 95 percent confidence interval:
##  7949 9827
## sample estimates:
##  mean in group No mean in group Yes 
##             85884             76996
======= ## t = 15, df = 24238, p-value <2e-16 ## alternative hypothesis: true difference in means between group No and group Yes is not equal to 0 ## 95 percent confidence interval: ## 11569 15074 ## sample estimates: ## mean in group No mean in group Yes ## 95369 82047 >>>>>>> XuejingHuang-master
prop.test(~if_changed, data = ask_a_manager_2021_changed, success = "Yes")
## 
##  1-sample proportions test with continuity correction
## 
## data:  ask_a_manager_2021_changed$if_changed  [with success = Yes]
<<<<<<< HEAD
## X-squared = 137, df = 1, p-value <2e-16
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
##  0.456 0.469
## sample estimates:
##     p 
## 0.462
======= ## X-squared = 198, df = 1, p-value <2e-16 ## alternative hypothesis: true p is not equal to 0.5 ## 95 percent confidence interval: ## 0.449 0.462 ## sample estimates: ## p ## 0.455 >>>>>>> XuejingHuang-master
ask_a_manager_age %>% 
  filter(age_group %in% c("18-24", "25-34" , "35-44" , "45-54" , "55-64"  )) %>% 
  group_by(age_group, gender) %>% 
  summarise (median_salary_by_age = median (salary),
             mean_salary_by_age = mean(salary)) %>% 
  ggplot () +
  geom_col(aes (age_group, median_salary_by_age, fill = gender), position = position_dodge(width = 0.9), alpha = 0.7)+
  geom_point(aes(x = age_group, y=mean_salary_by_age, color = gender))+
  theme_bw()+
  #formatC(x, format = "d")+
  labs(  title =  "Median Salary by Age Group" , y="Salary" ,x = "Age Group") +
  NULL
<<<<<<< HEAD

Regression Analysis (Yuan)

# load population data of US
population_url <- "https://www.ers.usda.gov/webdocs/DataFiles/48747/PopulationEstimates.csv?v=2232"
population <- vroom(population_url) %>% 
  janitor::clean_names() %>% 
  
  # select the latest data, namely 2019
  select(fips = fip_stxt, state= area_name, pop_estimate_2019) %>% 
  group_by(state) %>% 
  summarise(pop_estimate_2019_m = sum(pop_estimate_2019)/1000000)

reg_data <- ask_a_manager_2021 %>% 
  filter(!is.na(state)&industry %in% industry_list$industry[1:15]) %>%
  group_by(state) %>%
  filter(n()>10) %>% 
  ungroup() %>% 
  filter(country =="US"&currency=="USD") %>% 
  mutate(job = tolower(job_title),
         research=grepl("research", job),
         manager=grepl("manager", job),
         engineer=grepl("engineer", job),
         analyst=grepl("analyst", job),
         data_related = grepl("data", job),
         scientist = grepl("scientist", job),
         database = grepl("database", job),
         librarian = grepl("librarian", job),
         add_context_job = !is.na(additional_context_on_job_title),
         add_context_inc = !is.na(additional_context_on_income),
         race = case_when(race=="White"~"White",
                           race=="Asian or Asian American"~"Asian",
                           race=="Black or African American"~"Black",
                           T~"Others"),
         ) %>% 
  left_join(population,by = c("state")) %>% 
  select(c("age_group","gender","education","field_exp","pro_exp","race",
           "salary","research","manager","engineer","industry","analyst",
           "data_related","scientist","database","librarian","add_context_job",
           "add_context_inc","pop_estimate_2019_m"))
set.seed(2021)
data_split <- initial_split(reg_data, prop = .7)
data_train <- training(data_split)
data_test  <- testing(data_split)

m1 <- lm(salary ~ age_group, data=data_train)
m2 <- lm(salary ~ pro_exp, data=data_train)
m3 <- lm(salary ~ field_exp, data=data_train)

huxreg(m1, m2, m3,
       statistics = c('#observations' = 'nobs', 
                      'R squared' = 'r.squared', 
                      'Adj. R Squared' = 'adj.r.squared', 
                      'Residual SE' = 'sigma',
                      "AIC" = "AIC"), 
       bold_signif = 0.05, 
       stars = NULL
) %>% 
  set_caption('Comparison of models (age or experience?)')
Comparison of models (age or experience?)
(1)(2)(3)
(Intercept)62543.271 69163.194 64629.469 
(1830.256)(2757.586)(1593.274)
age_group25-3419403.664           
(1903.262)          
age_group35-4429330.903           
(1921.417)          
age_group45-5430040.880           
(2092.886)          
age_group55-6424734.760           
(2580.640)          
age_group65 or over33200.979           
(5904.978)          
pro_exp2 - 4 years     1748.729      
     (2966.607)     
pro_exp5-7 years     8977.174      
     (2882.552)     
pro_exp8 - 10 years     16197.606      
     (2869.375)     
pro_exp11 - 20 years     22579.448      
     (2818.453)     
pro_exp21 - 30 years     26381.364      
     (2920.467)     
pro_exp31 - 40 years     23567.026      
     (3372.684)     
pro_exp41 years or more     27874.097      
     (6010.020)     
field_exp2 - 4 years          7854.610 
          (1755.638)
field_exp5-7 years          17648.936 
          (1738.610)
field_exp8 - 10 years          26244.079 
          (1780.904)
field_exp11 - 20 years          32552.800 
          (1736.730)
field_exp21 - 30 years          39541.567 
          (2069.468)
field_exp31 - 40 years          36020.849 
          (3298.741)
field_exp41 years or more          37574.119 
          (8921.330)
#observations11366     11366     11366     
R squared0.032 0.044 0.085 
Adj. R Squared0.031 0.044 0.085 
Residual SE37240.202 36996.902 36192.227 
AIC271520.886 271373.884 270874.011 
# add more variables to explore and improve accuracy
m4 <- lm(salary ~ field_exp+gender, data=data_train)
m5 <- lm(salary ~ field_exp+gender+gender*field_exp, data=data_train)
m6 <- lm(salary ~ field_exp+gender+education, data=data_train)
m7 <- lm(salary ~ field_exp+gender+gender*field_exp+education+race, data=data_train)
m8 <- lm(salary ~ field_exp+gender+gender*field_exp+education+race+pop_estimate_2019_m, data=data_train)
m9 <- lm(salary ~ field_exp+gender+gender*field_exp+education+race+pop_estimate_2019_m++research+manager+engineer+industry+data_related+scientist+database+librarian, data=data_train)
m10 <- lm(salary ~ field_exp+gender+gender*field_exp+education+race+pop_estimate_2019_m++research+manager+engineer+industry+data_related+scientist+database+librarian+add_context_job+add_context_inc, data=data_train)
m11 <- lm(salary ~ field_exp+gender+gender*field_exp+education+race+pop_estimate_2019_m++research+manager+engineer+industry+data_related+scientist+database+librarian+add_context_job+add_context_inc+data_related*scientist, data=data_train)

huxreg(m4, m5, m6, m7, m8, m9,m10,m11,
       statistics = c('#observations' = 'nobs', 
                      'R squared' = 'r.squared', 
                      'Adj. R Squared' = 'adj.r.squared', 
                      'Residual SE' = 'sigma',
                      "AIC" = "AIC"), 
       bold_signif = 0.05
) %>% 
  set_caption('Comparison of models (adding variables)')
=======

Regression Analysis

colnames(ask_a_manager_2021)
reg_data <- ask_a_manager_2021 %>% 
  mutate(country = ifelse(country=="US","US","Non-US"))

m1 <- lm(converted_salary ~ education, data=reg_data)
m2 <- lm(converted_salary ~ education + age_group, data=reg_data)
m3 <- lm(converted_salary ~ education + gender, data=reg_data)
m4 <- lm(converted_salary ~ education + age_group + gender + pro_exp + field_exp, data=reg_data)
m5 <- lm(converted_salary ~ education + age_group + gender + field_exp, data=reg_data)

huxreg(m1, m2, m3, m4, m5,
       statistics = c('#observations' = 'nobs', 
                      'R squared' = 'r.squared', 
                      'Adj. R Squared' = 'adj.r.squared', 
                      'Residual SE' = 'sigma'), 
       bold_signif = 0.05, 
       stars = NULL
) %>% 
  set_caption('Comparison of models')
Comparison of models (adding variables)
(1)(2)(3)(4)(5)(6)(7)(8)
(Intercept)81776.234 ***66767.288 ***61868.327 ***65401.135 ***56250.261 ***45055.674 ***45729.919 ***46004.497 ***
(1738.606)   (4349.167)   (3107.656)   (5110.917)   (5079.613)   (4432.007)   (4430.512)   (4429.567)   
field_exp2 - 4 years7365.950 ***14727.862 ** 7468.093 ***16171.417 ***16416.344 ***13408.778 ***13273.262 ***13042.230 ***
(1718.596)   (4723.099)   (1679.468)   (4573.759)   (4519.084)   (3863.048)   (3859.322)   (3858.449)   
field_exp5-7 years17031.018 ***29579.448 ***17169.720 ***30678.029 ***30514.167 ***25868.954 ***25696.546 ***25568.189 ***
(1702.015)   (4670.309)   (1664.254)   (4521.359)   (4467.297)   (3819.817)   (3816.083)   (3814.758)   
field_exp8 - 10 years25508.925 ***42869.715 ***25092.637 ***44690.433 ***44550.091 ***39911.766 ***39832.038 ***39761.758 ***
(1743.499)   (4750.322)   (1706.089)   (4600.562)   (4545.550)   (3887.572)   (3883.716)   (3882.214)   
field_exp11 - 20 years31267.272 ***50166.357 ***31735.211 ***53236.895 ***53467.642 ***48612.318 ***48629.040 ***48474.059 ***
(1700.925)   (4612.021)   (1665.665)   (4468.249)   (4414.833)   (3777.293)   (3773.497)   (3772.291)   
field_exp21 - 30 years37108.294 ***61997.956 ***38462.779 ***65992.422 ***66619.310 ***60928.085 ***60794.601 ***60636.541 ***
(2028.575)   (5051.790)   (1984.661)   (4894.019)   (4835.636)   (4137.108)   (4132.989)   (4131.622)   
field_exp31 - 40 years34403.010 ***54043.409 ***36292.138 ***57742.688 ***58226.660 ***48416.441 ***48423.945 ***48263.287 ***
(3229.693)   (7532.978)   (3156.417)   (7297.092)   (7209.882)   (6190.530)   (6184.007)   (6181.720)   
field_exp41 years or more33149.581 ***44622.712 ** 35725.205 ***50250.211 ***47405.928 ** 44952.740 ***44480.551 ***44360.666 ***
(8734.644)   (15065.956)   (8530.996)   (14583.504)   (14410.108)   (12310.473)   (12297.729)   (12292.830)   
genderWoman-19661.624 ***-2451.366    -20999.464 ***-2873.503    -3218.214    4562.148    4365.833    4216.714    
(881.228)   (4657.198)   (864.683)   (4509.702)   (4455.817)   (3809.001)   (3805.147)   (3803.902)   
field_exp2 - 4 years:genderWoman        -8184.435            -9083.216    -8611.437    -6486.088    -6271.595    -6035.878    
        (5068.882)           (4907.729)   (4849.118)   (4144.534)   (4140.488)   (4139.482)   
field_exp5-7 years:genderWoman        -14283.390 **         -14158.716 ** -13537.090 ** -8833.913 *  -8565.761 *  -8430.754 *  
        (5013.483)           (4853.222)   (4795.326)   (4097.453)   (4093.564)   (4092.134)   
field_exp8 - 10 years:genderWoman        -20027.841 ***        -21015.794 ***-20033.340 ***-14416.339 ***-14202.318 ***-14112.790 ***
        (5105.162)           (4942.695)   (4883.940)   (4174.024)   (4169.914)   (4168.328)   
field_exp11 - 20 years:genderWoman        -22032.484 ***        -23158.969 ***-22633.855 ***-15468.431 ***-15399.157 ***-15228.537 ***
        (4960.781)           (4803.804)   (4746.459)   (4057.543)   (4053.373)   (4052.094)   
field_exp21 - 30 years:genderWoman        -30413.847 ***        -31079.001 ***-30930.745 ***-23740.630 ***-23457.579 ***-23280.688 ***
        (5524.145)           (5347.123)   (5283.183)   (4516.219)   (4511.873)   (4510.397)   
field_exp31 - 40 years:genderWoman        -23074.275 **         -22696.050 ** -22510.589 ** -9148.091    -9115.536    -8848.865    
        (8341.930)           (8076.384)   (7979.804)   (6844.468)   (6837.204)   (6834.962)   
field_exp41 years or more:genderWoman        -11745.816            -13193.711    -11747.941    -4331.990    -4543.419    -4469.599    
        (18526.974)           (17937.090)   (17722.788)   (15141.976)   (15126.328)   (15120.249)   
educationSome college                4988.324    5044.075    4636.588    2908.226    2838.183    2817.131    
                (2960.283)   (2927.504)   (2892.597)   (2472.678)   (2470.093)   (2469.106)   
educationCollege degree                18988.963 ***18564.373 ***18103.897 ***16120.258 ***16007.010 ***16004.845 ***
                (2707.906)   (2679.020)   (2647.125)   (2271.729)   (2269.421)   (2268.506)   
educationMaster's degree                22035.333 ***22003.130 ***21773.117 ***26169.277 ***26051.736 ***26020.462 ***
                (2727.491)   (2698.067)   (2665.835)   (2297.681)   (2295.354)   (2294.450)   
educationProfessional degree (MD, JD, etc.)                44380.824 ***44081.844 ***43833.823 ***50220.492 ***50135.846 ***50043.463 ***
                (3062.756)   (3029.627)   (2993.431)   (2679.716)   (2677.263)   (2676.341)   
educationPhD                34253.662 ***34347.772 ***33870.649 ***42625.750 ***42423.359 ***42460.846 ***
                (3038.775)   (3005.376)   (2969.572)   (2596.833)   (2594.869)   (2593.850)   
raceBlack                        -18402.690 ***-15938.390 ***-11313.766 ***-11407.047 ***-11518.091 ***
                        (2545.570)   (2519.478)   (2155.689)   (2153.584)   (2152.998)   
raceOthers                        -17412.220 ***-15957.584 ***-10927.498 ***-10967.692 ***-11045.574 ***
                        (1872.903)   (1852.565)   (1585.183)   (1583.814)   (1583.364)   
raceWhite                        -21718.588 ***-18375.693 ***-12618.968 ***-12572.226 ***-12689.214 ***
                        (1558.149)   (1552.551)   (1329.726)   (1328.641)   (1328.614)   
pop_estimate_2019_m                                475.073 ***386.143 ***384.118 ***382.987 ***
                                (28.532)   (24.495)   (24.474)   (24.467)   
researchTRUE                                        -883.355    -798.122    -289.189    
                                        (1755.383)   (1753.641)   (1760.213)   
managerTRUE                                        8051.040 ***7987.988 ***7987.374 ***
                                        (724.308)   (723.900)   (723.609)   
engineerTRUE                                        22370.267 ***22149.896 ***22181.989 ***
                                        (1113.630)   (1113.308)   (1112.905)   
industryBusiness or Consulting                                        13611.797 ***13783.351 ***13869.657 ***
                                        (1733.742)   (1732.446)   (1731.960)   
industryComputing or Tech                                        20565.078 ***20346.082 ***20297.335 ***
                                        (1210.152)   (1210.497)   (1210.106)   
industryEducation (Higher Education)                                        -25047.782 ***-24855.369 ***-24839.356 ***
                                        (1309.853)   (1309.556)   (1309.038)   
industryEducation (Primary/Secondary)                                        -28805.465 ***-29088.985 ***-29049.552 ***
                                        (1676.035)   (1676.591)   (1675.961)   
industryEngineering or Manufacturing                                        -3364.428 *  -3227.936 *  -3138.458 *  
                                        (1470.645)   (1469.526)   (1469.203)   
industryGovernment and Public Administration                                        -7400.718 ***-7188.259 ***-7040.606 ***
                                        (1387.959)   (1387.215)   (1387.431)   
industryHealth care                                        -6140.234 ***-6024.081 ***-5887.018 ***
                                        (1347.309)   (1346.136)   (1346.283)   
industryInsurance                                        -2263.661    -2285.620    -2297.536    
                                        (1991.211)   (1989.459)   (1988.661)   
industryLaw                                        -6175.522 ***-6140.885 ***-6108.539 ***
                                        (1790.010)   (1788.228)   (1787.536)   
industryMarketing, Advertising & PR                                        -143.477    -288.065    -353.300    
                                        (1586.731)   (1585.343)   (1584.837)   
industryMedia & Digital                                        -4530.043 ** -4428.712 *  -4432.195 *  
                                        (1744.371)   (1743.891)   (1743.189)   
industryNonprofits                                        -16533.495 ***-16367.934 ***-16350.639 ***
                                        (1247.272)   (1246.407)   (1245.916)   
industryRecruitment or HR                                        -3839.452    -4038.510 *  -4082.243 *  
                                        (2058.276)   (2056.456)   (2055.673)   
industryRetail                                        -21262.973 ***-21306.608 ***-21291.698 ***
                                        (2109.154)   (2107.490)   (2106.646)   
data_relatedTRUE                                        7837.394 ***7487.863 ***5046.085 *  
                                        (1921.203)   (1920.457)   (2067.321)   
scientistTRUE                                        14722.590 ***14689.589 ***8820.476 ** 
                                        (2639.320)   (2636.522)   (3216.586)   
databaseTRUE                                        -19977.998 ** -19842.340 ** -17405.812 ** 
                                        (6354.838)   (6348.374)   (6391.829)   
librarianTRUE                                        -9214.392 ***-9369.906 ***-9397.497 ***
                                        (2193.651)   (2192.143)   (2191.277)   
add_context_jobTRUE                                                -2807.597 ***-2793.119 ***
                                                (627.314)   (627.077)   
add_context_incTRUE                                                2827.822 ** 2838.123 ** 
                                                (921.745)   (921.379)   
data_relatedTRUE:scientistTRUE                                                        17434.528 ** 
                                                        (5478.061)   
#observations11366        11366        11366        11366        11366        11366        11366        11366        
R squared0.124    0.129    0.165    0.185    0.204    0.421    0.422    0.423    
Adj. R Squared0.123    0.128    0.164    0.183    0.203    0.419    0.420    0.421    
Residual SE35425.743    35332.798    34591.428    34191.042    33782.140    28843.094    28812.405    28800.792    
AIC270388.418    270335.691    269851.645    269596.977    269324.476    265752.352    265730.145    265721.976    
*** p < 0.001; ** p < 0.01; * p < 0.05.
>>>>>>> XuejingHuang-master
Comparison of models
(1)(2)(3)(4)(5)
(Intercept)73753.850 62856.643 92165.971 70905.720 65882.024 
(3031.177)(28236.014)(3065.946)(27781.746)(27527.453)
educationSome college1146.369 178.194 4490.817 4192.416 4395.104 
(3456.755)(3426.821)(3410.103)(3333.414)(3333.739)
educationCollege degree10936.411 14478.221 16607.004 20368.221 20329.478 
(3096.939)(3076.147)(3060.401)(3001.029)(2997.480)
educationMaster's degree16560.585 17400.650 23572.779 24328.428 24326.172 
(3128.923)(3106.455)(3095.672)(3036.162)(3030.978)
educationProfessional degree (MD, JD, etc.)60645.762 60842.097 68008.053 70035.175 69643.884 
(3625.164)(3597.836)(3584.357)(3518.621)(3508.744)
educationPhD30306.472 29312.578 36070.156 39374.432 38793.181 
(3597.624)(3568.901)(3553.194)(3498.655)(3478.807)
age_group18-24     -17669.678      -9879.743 -9267.739 
     (28271.961)     (27567.347)(27491.310)
age_group25-34     1111.921      -3876.079 -2008.487 
     (28188.442)     (27463.620)(27408.375)
age_group35-44     15983.686      -5471.914 -1500.703 
     (28187.758)     (27457.952)(27410.485)
age_group45-54     20370.007      -11070.008 -7739.091 
     (28206.456)     (27461.839)(27431.085)
age_group55-64     25471.862      -8051.878 -6100.110 
     (28269.960)     (27527.157)(27518.041)
age_group65 or over     17678.366      -14583.331 -14958.135 
     (29120.832)     (28447.729)(28432.793)
genderWoman          -30004.937 -26329.654 -26229.759 
          (1117.505)(1099.665)(1099.280)
pro_exp2 - 4 years               -7805.873      
               (4204.339)     
pro_exp5-7 years               -5300.576      
               (4351.911)     
pro_exp8 - 10 years               -1392.495      
               (4392.389)     
pro_exp11 - 20 years               337.324      
               (4472.274)     
pro_exp21 - 30 years               -1275.784      
               (4821.102)     
pro_exp31 - 40 years               -2767.468      
               (5781.403)     
pro_exp41 years or more               -12687.960      
               (9105.571)     
field_exp2 - 4 years               8411.615 6500.929 
               (2505.791)(2225.984)
field_exp5-7 years               17208.320 16989.085 
               (2596.075)(2275.486)
field_exp8 - 10 years               25127.188 26530.695 
               (2694.501)(2345.796)
field_exp11 - 20 years               36182.740 37489.263 
               (2725.230)(2381.517)
field_exp21 - 30 years               57087.061 57240.743 
               (3327.637)(2920.774)
field_exp31 - 40 years               51244.416 50426.815 
               (5212.230)(4654.659)
field_exp41 years or more               49007.992 42568.136 
               (12596.801)(11634.336)
#observations24899     24899     24899     24899     24899     
R squared0.028 0.047 0.056 0.101 0.100 
Adj. R Squared0.028 0.047 0.056 0.100 0.099 
Residual SE69651.152 68979.521 68665.310 67032.046 67051.976 
# calculate rmse on test set of 11 models
models <- list(m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11)
rmses <- c()
i <- 0
for (model in models){
  i = i + 1
  print(paste("model",i))
  preds <- predict(model, data_test)
  rmses[i] <- RMSE(
    pred = preds,
    obs = data_test$salary
    )
  print(paste("RMSE on train data:",summary(model)$sigma))
  print(paste("RMSE on test data:", rmses[i]))
  
  SS.total      <- with(data_test,sum((salary-mean(salary))^2))
  #SS.residual   <- sum(residuals(model)^2)
  SS.regression <- sum((preds-mean(data_test$salary))^2)
  #SS.total - (SS.regression+SS.residual)
  
  print(paste("R Squared on train data", summary(model)$r.squared))     
  print(paste("R Squared on test data", SS.regression/SS.total))  # fraction of variation explained by the model
  
}
## [1] "model 1"
## [1] "RMSE on train data: 37240.2022323879"
## [1] "RMSE on test data: 36621.1660285581"
## [1] "R Squared on train data 0.031567631824252"
## [1] "R Squared on test data 0.0325708057791624"
## [1] "model 2"
## [1] "RMSE on train data: 36996.9022754174"
## [1] "RMSE on test data: 36370.057981252"
## [1] "R Squared on train data 0.0443486164938196"
## [1] "R Squared on test data 0.0453616685733399"
## [1] "model 3"
## [1] "RMSE on train data: 36192.2273555412"
## [1] "RMSE on test data: 35422.5643215129"
## [1] "R Squared on train data 0.0854669794715471"
## [1] "R Squared on test data 0.0871167812847264"
## [1] "model 4"
## [1] "RMSE on train data: 35425.7430731334"
## [1] "RMSE on test data: 34605.928699271"
## [1] "R Squared on train data 0.123870171233949"
## [1] "R Squared on test data 0.128557774630173"
## [1] "model 5"
## [1] "RMSE on train data: 35332.7982526982"
## [1] "RMSE on test data: 34546.9809164511"
## [1] "R Squared on train data 0.12899864129965"
## [1] "R Squared on test data 0.135434006206996"
## [1] "model 6"
## [1] "RMSE on train data: 34591.4284469105"
## [1] "RMSE on test data: 33760.8724115322"
## [1] "R Squared on train data 0.165019603869794"
## [1] "R Squared on test data 0.172745944188134"
## [1] "model 7"
## [1] "RMSE on train data: 34191.0422206893"
## [1] "RMSE on test data: 33460.4589680199"
## [1] "R Squared on train data 0.184955679984239"
## [1] "R Squared on test data 0.195085008342806"
## [1] "model 8"
## [1] "RMSE on train data: 33782.1401858356"
## [1] "RMSE on test data: 33043.2494947125"
## [1] "R Squared on train data 0.204404031635445"
## [1] "R Squared on test data 0.219644384830675"
## [1] "model 9"
## [1] "RMSE on train data: 28843.0937046904"
## [1] "RMSE on test data: 28455.5022244996"
## [1] "R Squared on train data 0.421108713870185"
## [1] "R Squared on test data 0.440785215341321"
## [1] "model 10"
## [1] "RMSE on train data: 28812.4050521705"
## [1] "RMSE on test data: 28412.091845217"
## [1] "R Squared on train data 0.422441983244408"
## [1] "R Squared on test data 0.441748058491165"
## [1] "model 11"
## [1] "RMSE on train data: 28800.7921559706"
## [1] "RMSE on test data: 28397.9853883121"
## [1] "R Squared on train data 0.422958450110671"
## [1] "R Squared on test data 0.442305304536917"
# for model 10, comparing to 28657.84 RMSE in training data. 
# the RMSE 29507 is not very large indicating there is not very heavy over fitting problem